Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод. указания к лаб.р-там МММ (Часть 2) 4 кур...doc
Скачиваний:
19
Добавлен:
13.11.2019
Размер:
2.89 Mб
Скачать

Лабораторная работа №13. Бе3градиентные методы решения задач оптимизации

Цель работы:

  • определить координаты точки экстремума целевой функции использованием метода покоординатного спуска и метода Хука-Дживса;

  • доказать, что найденный экстремум является глобальным;

  • сопоставить эффективность использованных методов.

1. ОПИСАНИЕ МЕТОДИКИ РАСЧЕТОВ

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

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

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

Большинство методов нелинейного программирования использует идею движения в n-мерном пространстве в направлении оптимума. При этом из некоторого исходного или промежуточного состояния осуществляется переход в следующее состояние изменением вектора на величину , называемую шагом, т.е.

= + (13.1)

Очевидно, что для случая поиска оптимума, являющегося минимумом, для удачно выбранного шага должно выполняться условие:

R( ) < R( ) (13.2)

В противном случае переход в состояние нецелесообразен.

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

= ( ) (13.3)

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

Ниже приведены 2 метода поиска экстремума целевой функции, относящиеся к группе безградиентных методов: метод покоординатного спуска и метод Хука-Дживса.

1.1. Метод покоординатного спуска

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

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

При выборе стратегии поиска экстремума по направлению можно использовать любой из методов поиска экстремума функции одной переменной (метод одномерного сканирования, метод локализации экстремума, метод «золотого сечения» и др.).

В соответствии с (13.1) координаты следующей точки определяются по следующим выражениям:

хi(k+1)= хi(k)+ hi ,

хj = const (j = 1, 2, 3, 4, 5, ... n), (13.4)

где n – число независимых переменных; hi – приращение i-ой независимой переменной (шаг).

В (13.4) величина шага h может меняться как по величине, так и по знаку. По мере приближения к точке экстремума для улучшения сходимости величину шага рекомендуется уменьшать.

Алгоритм поиска точки экстремума методом покоординатного спуска следующий:

  1. Для задания начальной точки рассчитывается целевая функция.

  2. Выбирается одна из независимых переменных и направление поиска по данному направлению.

  3. Для выбранной переменной задается шаг приращения h и рассчитывается новое (k+1)-е значение переменной по (13.4).

  4. В полученной точке находится значение целевой функции.

  5. В случае удачного шага (например, при поиске минимума должно выполняться условие (13.2)), новый шаг делается в том же направлении.

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

  7. Запоминается значение целевой функции и независимой переменной в данной точке.

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

  9. Поиск продолжается до тех пор, пока точка экстремума не будет определена с заданной точностью.

Рассмотрим функцию двух переменных. Ее линии постоянного уровня представлены на рисунке 13.1, а минимум лежит в точке . Из точки А мы производим поиск минимума вдоль направления оси х1 и, таким образом, находим точку В, в которой касательная к линии постоянного уровня параллельна оси х1. Затем, произведя поиск из точки В в направлении оси х2, получаем точку С, произведя поиск параллельно оси х1, получаем точку D, и т.д. Таким образом, мы приходим к оптимальной точке.

Рис. 13.1