Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции
ЛАБОРАТОРНАЯ РАБОТА № 2
ЧИСЛЕННЫЕ МЕТОДЫ ПОИСКА БЕЗУСЛОВНОГО ЭКСТРЕМУМА
ЛАБОРАТОРНАЯ РАБОТА № 2.1.
Методы нулевого порядка
МЕТОД ДЕФОРМИРУЕМЫХ СИМПЛЕКСОВ (Метод Нелдера-Мида)
Постановка задачи
Требуется найти безусловный минимум функции
многих переменных т.е. найти такую точку
, что
,
.
Стратегия поиска
В основу метода деформируемых симплексов (метода Нелдера-Мида) положено построение последовательности систем
точек
, которыеявляются вершинами выпуклого многогранника. Точки системы
на
итерации совпадают с точками системы
, кроме
, где точка
- наихудшая в системе
, т.е.
. Точка
заменяется на другую точку по специальным правилам, описанным ниже. В результате многогранники деформируются в зависимости от структуры линии уровня целевой функции, вытягиваясь вдоль длинных наклонных плоскостей, изменяя направление в изогнутых впадинах и сжимаясь в окрестности минимума. Построение последовательности многогранников заканчивается, когда значения функции в вершинах текущего многогранника отличаются от значения функции в центре тяжести системы
;
не более чем на
.
Алгоритм
Шаг 1. Задать координаты вершин многогранника
; 

Параметры отражения
, сжатия
, растяжения
; число
для остановки алгоритма. Положить
(последующие шаги 2-6 соответствуют текущему номеру
системы точек).
Шаг 2. Среди вершин найти «наилучшую»
и «наихудшую»
, соответствующие минимальному и максимальному значению функции:

а также точку
, в которой достигается второе по величине после максимального значение функции
.
Шаг 3. Найти «центр тяжести» всех вершин симплекса за исключением наихудшей 

Шаг 4. Проверить условие окончания:
4.1. Если
процесс поиска завершается (Конец) и в качестве приближенного решения можно взять наилучшую текущую точку симплекса
.
4.2. Если
, процесс продолжается (переход на Шаг 5).
Шаг 5. Выполнить операцию отражения наихудшей вершины
через центр тяжести
:

Шаг 6. Проверить выполнение условий:
6.1. Если
, выполнить операцию растяжения:

Найти вершины нового многогранника:
6.1.1. Если
, то вершина
заменяется на
. Затем
и переход на Шаг 2.
6.1.2. Если
, то вершина
заменяется на
. Затем
и переход на Шаг 2.
6.2. Если
, выполнить операцию сжатия:

Следует заменить вершину
на
, положить
и переход на Шаг 2.
6.2.1. Если
, то вершина
заменяется на
. При этом
и переход на Шаг 2.
6.2.2. Если
, выполнить операцию редукции. Формируется новый симплекс с уменьшенными вдвое сторонами и вершиной
:

При этом следует положить
и переход на Шаг 2.
Замечание 1. Нелдер и Мид рекомендовали использовать параметры
Павиани -
Паркинсон и Хатчинсон -
В последнем случае в рамках операции отражения фактически выполняется растяжение.
ЗАДАНИЕ
Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции.