Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / 4_Безусловный поиск минимума функции.doc
Скачиваний:
173
Добавлен:
20.06.2014
Размер:
1.09 Mб
Скачать
          1. Метод Нелдера-Мида

Метод Нелдера-Мида (называется также поиском по деформируемому много­граннику) является развитием симплексного метода Спендли, Хекста и Химсворта. Множество (n+1)-й равноудаленной точки вn-мерном пространстве называется регулярным симплексом. Эта конфигурация рассматривается в методе Спендли, Хекста и Химсворта. Следовательно, в двумерном пространстве симплексом является равносторонний треугольник, а в трехмерном пространстве – правильный тетраэдр. Идея метода состоит в сравнении значений функции в (n+1) вершинах симплекса и перемещении симплекса в направлении оптималь­ной точки с помощью итерационной процедуры. В симплексном методе, пред­ложенном первоначально, регулярный симплекс использовался на каждом этапе. Нелдер и Мид предложили несколько модификаций этого метода, допус­кающих, чтобы симплексы были неправильными. В результате получился очень надежный метод прямого поиска, являющийся одним из самых эффективных, еслиn6.

В методе Спендли, Хекста и Химсворта симплекс перемещается с помощью трех основных операций: отражения, растяжения, сжатия. Смысл этих операций станет понятным при рассмотрении шагов процедуры.

Шаг 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. Блок-схема алгоритма метода Нелдера-Мида.