Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМиМОвЭ Очное Шестакович 2011 / ВМиМОвЭ Шестакович 2011 модифицированный.doc
Скачиваний:
18
Добавлен:
13.05.2023
Размер:
4.32 Mб
Скачать

7.4.3. Метод Нелдера – Мида

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

fi - значение целевой функции в i вершине, т. е. i = (xi);

m - номер вершины, соответствующей наибольшему значению (х), т.е.

m = max {i }, i=1,2,...,n+1

sномер, соответствующий второй по величине вершине после наибольшей, т.е. s = max {i }, i=1,2,...,n+1; i m

l- номер вершины с наименьшим значением (х), т.е.

l = min {i }, i=1,2,...,n+1

x0 - центр тяжести симплекса, образованного всеми вершинами, кроме

x m:

Преобразование симплекса начинается с операции отражения.

Отражение. Так как xm – вершина, соответствующая максимальному значению целевой функции, то представляется разумным сравнить значения целевой функции в точках xm и xr , где xr получена из xm отражением относительно противоположной грани гиперплоскости симплекса. Если r меньше m, то строим новый симплекс, заменяя точку xm на xr. Процесс отражения проиллюстрирован на рис. 7.4 для двумерного симплекса. Отраженная точка получается как xr = x0+ (x0 - xm), где > 0 – коэффициент отражения. Точка xr лежит на прямой проходящей через точки xm и x0 с другой стороны от x0. Вычисляется значение целевой функции в отраженной точке xr и сравнивается со значением целевой функции в точках xl, xs, xm. Возможны следующие случаи, согласно которым далее следуют соответствующие операции:

l < r s – отражение в новом симплексе;

r < l растяжение;

s < r <m редукция;

r > mсжатие;

В первом случае точка xr является лучшей точкой по сравнению с точками xm и xs, поэтому точка xm отбрасывается и заменяется на xr , строится новый симплекс и операция отражения повторяется.

Рис. 7.4. Процесс отражения

Растяжение. Если процедура отражения дает точку xr , для которой r<l , т.е. минимальную точку, то можно ожидать, что значение функции уменьшится еще более при движении по прямой, соединяющей точки x0 и xr. Эта гипотеза проверяется в процедуре растяжения в этом направлении xe = x0 + (xr - x0), где >1 – коэффициент растяжения. Вычисляем e = (xe). Если e < r , то заменяем точку xm на xe, в противном случае, (e > r ) растяжение оказалось неудачным и точку xm заменяем на xr, после чего строится новый симплекс и операция отражения повторяется.

Редукция. Если в процессе отражения получилась точка xr, такая, что

s < r <m, то отражение дает лишь незначительное улучшение. В этом случае выполняют редукцию в направлении, соединяющем точки x0 и xr, чтобы проверить, не перешагнули ли лучшую точку. Для редукции рассчитываем точку xc = x0 + ( xr x0 ), где - коэффициент редукции (0<<1). Вычисляем с=(хс). Если с < r, то точку xm заменяем на xс в противном случае точка xm заменяется на xr. Строится новый симплекс и операция отражения повторяется.

Сжатие. К операции сжатия прибегают, когда отражение дает полностью неудовлетворительный результат (r > m). Остается предположить, что минимум, вероятно, лежит внутри симплекса. Поэтому симплекс сжимается в два раза вокруг вершины с минимальным значением l путем пересчета всех вершин по формулам xi =(xi + xl)/2, i=1,2,...,n+1, после чего операция отражения повторяется. Вычисления прекращаются, если среднеквадратичное отклонение  целевой функции в n+1 вершинах текущего симплекса меньше заданного малого значения , т. е.

где

Если коэффициенты отражения, редукции и растяжения равны соответственно =1, =0,5, =2, то симплексный метод носит название метода Нелдера – Мида.