
- •Общие сведения
- •Постановка задачи безусловной оптимизации функции многих переменных
- •Глобальный оптимум функции
- •Локальный оптимум функции
- •Выпуклость множеств и функций
- •Методы прямого поиска безусловного оптимума функции многих переменных
- •Эвристические методы
- •Метод Хука-Дживса (метод прямого поиска)
- •Метод покоординатного спуска
- •Метод Розенброка (метод вращающихся координат)
- •Метод Нелдера-Мида
- •Теоретические методы прямого поиска
- •Метод сопряженных направлений (метод Пауэлла)
- •Решение задачи безусловной оптимизации функции многих переменных с использованием необходимых и достаточных условий экстремума
- •Методы оптимизации функции одной переменной
- •Метод квадратичной интерполяции
- •Метод Пауэлла (квадратичной интерполяции)
- •Метод первого приемлемого значения (квадратичная интерполяция с использованием производных).
- •Метод кубической интерполяции (Давидона)
- •Методы оптимизации функции многих переменных
- •Общие критерии останова численных методов оптимизации функции многих переменных
- •Модельная схема применения методов оптимизации функции многих переменных
- •Градиентные методы
- •Аффинная (линейная) модель функции многих переменных
- •Метод Коши
- •Расчет направления поиска методами сопряженных градиентов
- •Метод Ньютона-Рафсона
- •Метод Марквардта
- •Методы переменной метрики (квазиньютоновские методы)
- •Соотношение секущих
- •Метод bfgs
- •Метод dfp
Метод Нелдера-Мида
Метод Нелдера-Мида (называется также поиском по деформируемому многограннику) является развитием симплексного метода Спендли, Хекста и Химсворта. Множество (n+1)-й равноудаленной точки вn-мерном пространстве называется регулярным симплексом. Эта конфигурация рассматривается в методе Спендли, Хекста и Химсворта. Следовательно, в двумерном пространстве симплексом является равносторонний треугольник, а в трехмерном пространстве – правильный тетраэдр. Идея метода состоит в сравнении значений функции в (n+1) вершинах симплекса и перемещении симплекса в направлении оптимальной точки с помощью итерационной процедуры. В симплексном методе, предложенном первоначально, регулярный симплекс использовался на каждом этапе. Нелдер и Мид предложили несколько модификаций этого метода, допускающих, чтобы симплексы были неправильными. В результате получился очень надежный метод прямого поиска, являющийся одним из самых эффективных, еслиn6.
В методе Спендли, Хекста и Химсворта симплекс перемещается с помощью трех основных операций: отражения, растяжения, сжатия. Смысл этих операций станет понятным при рассмотрении шагов процедуры.
Шаг
1. Найдем значения функции
в вершинах симплекса.
Шаг
2. Найдем наибольшее значение функции
,
следующее за наибольшим значением
функции
,
наименьшее значение функции
и соответствующие им точки
.
Шаг
3. Найдем центр тяжести всех точек, за
исключением точки
.
Пусть центром тяжести будет
,
вычислим
.
Шаг
4. Удобнее всего начать перемещение от
точки
.
Отразив точку
относительно точки
,
получим точку
и найдем
.
Операцию отражения иллюстрирует рис. 2 :
Рис. 2. Операция отражения симплекса.
Если
>0 – коэффициент
отражения, то положение точкиопределяется следующим образом:
(1.3)
т.е.
(1.4)
Замечание:
Шаг
5. Сравним значения функций
и
.
Шаг
5.1. Если
,
то мы получим наименьшее значение
функции. Направление из точки
в точку
наиболее удобно для перемещения. Т.о.,
мы производим растяжение в этом
направлении и находим точку
и значение функции
.
Рис. 3 иллюстрирует операцию растяжения
симплекса:
Рис 3. Операция растяжения симплекса.
Коэффициент растяжения >1 можно найти из следующих соотношений:
(1.5)
т.е.
(1.6)
Замечание:
.
а)
Если
,
то заменяем точку
на точку
и проверяем (n+1)-ую точку
симплекса на сходимость к минимуму (см.
шаг 5.3). Если сходимость достигнута, то
процесс останавливается; в противном
случае возвращаемся на шаг 2.
б)
Если
,
то отбрасываем точку
.
Очевидно, мы переместились слишком
далеко от точки
к точке
.
Поэтому следует заменить точку
на точку
,
в которой было получено ухудшение
(шаг 5.1), проверить сходимость и, если
она не достигнута, вернуться на шаг 3.
Шаг
5.2. Если
и
,
то
является лучшей точкой по сравнению с
другими двумя точками симплекса и мы
заменяем точку
на точку
и, если сходимость не достигнута,
возвращаемся на шаг 2, т.е. выполняем
пункт Шаг 5.1, б, описанный выше.
Шаг
5.3. Если
,
то переходим непосредственно к шагу
сжатия 6.2.
Шаг
6. Сравним значения функций
и
.
Шаг
6.1. Если
,
то заменяем точку
на точку
и значение функции
на значение функции
.
Запоминаем значение
из шага 5.2, приведенного выше. Затем
переходим на шаг 6.2.
Шаг
6.2. В этом случае
,
поэтому ясно, что мы переместились
слишком далеко от точки
к точке
.
Попытаемся исправить это, найдя точку
(а затем
)
с помощью шага сжатия, показанного на
рис. 4:
Рис. 4. Операция сжатия симплекса.
Если
,
то сразу переходим к шагу сжатия и
находим точку
из соотношения
,
Где
(0<<1)
– коэффициент сжатия. Тогда.
Если
,
то сначала заменим точку
на точку
,
а затем произведем сжатие. Тогда
точку
найдем из соотношения
(1.7)
т.е.
(1.8)
см. (рис. 5)
Рис. 5.
Шаг
7. Сравним значения функций
и
.
Шаг
7.1. Если
,
то заменяем точку
на точку
,
и если сходимость не достигнута, то
возвращаемся на шаг Б.
Шаг
7.2. Если
,
то очевидно, что все наши попытки найти
значение меньшее
закончились неудачей, поэтому мы
переходим на шаг 3.
Шаг
7.3. На этом шаге мы уменьшаем размерность
симплекса делением пополам расстояния
от каждой точки симплекса до
- точки, определяющей наименьшее значение
функции.
Т.о.,
точка
заменяется на точку
,
т.е. заменяем точку
точкой
.
Затем вычисляем
дляi=1, 2, …, (n+1),
проверяем сходимость и, если она не
достигнута, возвращаемся на шаг В.
Шаг 8. Проверка сходимости основана на том, чтобы стандартное отклонение (n+1)-го значения функции было меньше некоторого заданного малого значения. В этом случае вычисляется
,
где
.
Если
<,
то все значения функции очень близки
друг к другу, и поэтому они, возможно,
лежат вблизи точки минимума функции.
Исходя из этого, такой критерий сходимости
является разумным.
Шаги этой процедуры представлены в виде блок-схемы (рис. 6).
Коэффициенты ,,в вышеприведенной процедуре являются соответственно коэффициентами отражения, сжатия, растяжения. Нелдер и Мид рекомендуют брать=1,=0.5,=2. Рекомендация основана на результатах экспериментов с различными комбинациями значений. Эти значений параметров позволяют методу быть эффективным, но работать в различных сложных ситуациях.
Рис.
6. Блок-схема алгоритма метода Нелдера-Мида.