Скачиваний:
54
Добавлен:
09.05.2014
Размер:
904.19 Кб
Скачать

§11. Нелинейное программирование

Особенности задач нелинейного программирования:

    1. Многошаговые интеграционные процессы, в которых производится постепенное сведение к оптимальному решению. Точки друг от друга различаются на шаг.

,

где шаг,k - номер интеграции, номер шага.

    1. Большую трудность вызывает выбор шага (если большой – рискуем пройти оптимум, но с большой скоростью; если маленький – существует возможность «утонуть» в вычислениях).

    2. Заранее определить число шагов нельзя.

    3. Эффективность методов зависит от результата, полученного в предыдущем шаге.

    4. В алгоритме поиска необходимо иметь правило окончания работы. Оно заключается в достижении требуемой точности.

    5. Некоторые задачи могут не иметь решения, а иметь лишь особые точки.

Классификация методов нелинейного программирования:

  1. Градиентные методы:

- метод градиента и его модификаций;

- метод релаксации;

- метод наискорейшего спуска;

- метод тяжелого шарика;

  1. Безградиентный способ:

- метод общего поиска;

- метод дихотомии;

- метод золотого сечения;

- метод чисел Фибоначчи;

- метод сканирования;

- симплексный метод;

  1. Группа случайного поиска:

- метод «слепого» поиска;

- метод случайных направлений.

Градиентные методы нелинейного программирования.

  1. Метод релаксации.

Применяется в задачах, где трудно или невозможно отыскать оптимум в аналитической форме.

Исходная задача разбивается на ряд подзадач.

В области определения выбирается точка и составляется функция вида:

Все переменные оставляем const, а x освобождаем

Находим производную:

=0 =>x1(1)=const

Значение подставляется в функцию :

Дальше таким же образом берется производная и находится:

и т.д.

т. е. за шагов вычисляем, производим сравнениеи

Сравнивая ,…, выбираютmax и min значения.

После сравнения выбираются максимальное и минимальное значение функции, которые и дают наиболее оптимальные значения

– оптимальное значение.

Достоинства:

    1. Простота и наглядность.

Недостатки:

    1. Долгий путь решения задачи.

    2. Необходимо иметь аналитические выражения целевой функции по всем параметрам.

  1. Метод градиента.

Исключает недостатки предыдущего метода и использует основное свойство градиента: вектор градиента всегда направлен в сторону наибольшего изменения функции.

Требование: Функция должна быть дифференцируема, унимодальная (иметь 1 экстремум) на определенном промежутке.

  1. Метод наискорейшего спуска (метод Коши).

Величина шага выбирается из использования максимизации или минимизации целевой функции при движении в направлении градиента.

Используется информация о неведении первых производных.

Отсюда малая сходимость метода.

  1. Метод Ньютона.

Производится квадратическая аппроксимация целевой функции, что позволяет использовать информацию о поведении вторых производных. Это позволяет менять шаг в зависимости от расстояния до оптимума. Увеличивается шаг, где градиент меняется медленно и наоборот.

Достоинства:

  1. Лучшая сходимость относительно первой производной чем у метода градиента;

  2. Не нужно знать аналитические значения производных, а только их численные значения.

Недостаток: Нужно 2 раза дифференцировать.

Поисковые методы

Безградиентные методы.

  1. Используются для поиска экстремума в унимодальных функциях.

  2. Не надо искать производные, нужно лишь знать значения целевой функции в определенных точках.

  3. Все методы многошаговые (итерационные).

  4. Они имеют разную сходимость.

К ним относятся:

  • Методы общего поиска,

  • Метод дихотомии.

  • Метод золотого сечения.

  • Метод чисел Фибоначчи

  1. Метод общего поиска

а) Метод покоординатного поиска (метод Гаусса-Зейделя).

Все переменные, кроме одной, фиксируются, а одна, нефиксированная – изменяется, пока не достигнет наилучшего результата целевой функции (max или min), затем она фиксируется и идет переборка остальных переменных по одной.

Недостатки:

  1. малая сходимость из-за большого числа шагов;

  2. слабо используется информация, полученная на предыдущем шаге;

  3. малая точность метода при одинаковом шаге.

Достоинства:

  1. Целевая функция может зависеть от нескольких переменных.

б) Покоординатный поиск с циклическим изменением координат.

Все переменные, кроме одной фиксируются, а одна изменяется следующим образом: делается один шаг в одну сторону и два шага в обратную. Во всех трех точках вычисляется значения целевой функции, из них выбирается наилучшее (точка, которая наиболее близка к оптимуму).

Достоинства:

  1. Сходимость немного лучше.

Недостатки:

  1. Те же.

в) Метод комбинированный.

Вначале используется покоординатный поиск, а вблизи экстремума используется метод б) с переменным шагом.

Достоинства:

  1. Сходимость и точность стали лучше.

  1. Метод дихотомии

Метод работает для одной переменной

Отрезок ООФ делится пополам и одна из половинок снова делится пополам. Вычисляется значение в четырех точках. Сравниваются значения целевой функции и неудовлетворяющие значения отбрасываются.

Достоинства:

    1. простота.

Недостатки:

    1. небольшая сходимость;

    2. ситуации неопределенности отбрасывании отрезка, когда одно значение равно другому;

    3. исследуется функция, только от одной переменной.

  1. Метод почти половинного деления.

Отрезок делится пополам от середины берутся еще 2 точки на одинаковом удалении . Отбрасывается участок без минимума.

Достоинства:

  1. простота;

  2. используется информация, полученная на предыдущем шаге;

  3. лучшая сходимость.

  1. Метод золотого сечения.

- Формула золотого сечения

Приравниваем z=1

Составляем квадратичное уравнение z22=z1 = z-z2=(1-z1)2

z

22+ z2-1=0

z10.382

x20.618

Тогда отрезок делится в этом соотношении. Вычисляется значение  функции, затем отбрасывается часть без минимума.

  1. Метод чисел Фибоначчи.

Ряд чисел Фибоначчи:

- арифметическая прогрессия

Введем понятие интервала неопределенности, в котором находится экстремум после выполнения операции исключения отрезков.

Обычно .

Алгоритм работы метода Фибоначчи:

  1. Зная интервал поиска (Параметры а и b ) находим число Фибоначчи по соотношению:

  1. По числу f находится из ряда ближайшее большее число F.

Пример: f = 38, =55 => n = 10.

  1. Интервал поиска делим на количество отрезков Fn+1. (Если 55, то делим на 89)

  1. С двух сторон от а и b откладываем количество отрезков Fn+1.

  2. Вычисляем значения  в 4-х точках, ищем max

  3. Далее все пункты повторяются

Полученный интервал будет удовлетворять условию обеспечения точности.

Достоинства:

  1. эффективен;

  2. эффективно используется информация, полученная на предыдущем шаге, за счет лучшего выбора точек.

Методы случайного поиска экстремума целевой функции

Идея методов заключается в том, что мы намеренно вводим элемент случайности (случайные направления, случайный шаг или и то и другое)

Применяются, когда по каким-то причинам нельзя применить предыдущие.

В области определения целевой функции берется произвольно точка. В ней вычисляется значение этой функции. Затем также берется вторая точка, вычисляется и сравнивается, наихудшее отбрасывается.

Наилучшее значение – оптимум

Достоинства:

  1. Простота,

  2. При большом количестве вычислений можно получить сколь угодную точность