Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оптимальное проектирование ЭМ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.67 Mб
Скачать

3.2 Метод Хука-Дживса

Метод разработан в 1961 году. Поиск методом Хука-Дживса состоит из последовательности шагов: исследующего поиска вокруг базисной точки, после которого, в случае успеха, следует поиск по образцу.

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

Последовательно каждую переменную изменяют на величину шага. Вычисляют значение функции. Если значение функции улучшается, то переменная заменяется значением, соответствующим лучшему значению функции.

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

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

Поиск по образцу начинают с вычисления значения функции в точке исследующего поиска . Находят . Вычисляют координаты точки образца:

.

Вычисляют значение функции . Если полученное значение функции лучше чем значение функции в точке исследующего поиска , то за новую базисную точку принимают точку образца и поиск продолжают, начиная с исследующего поиска. Если полученное значение функции хуже чем значение функции в точке исследующего поиска , то за новую базисную точку принимают точку исследующего поиска и поиск продолжают, начиная с исследующего поиска.

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

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

3.3 Поиск методом Нелдера-Мида

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

Симплекс перемещается с помощью трёх основных операций: отражения, растяжения, сжатия.

а) Формируют симплекс (произвольно). Например,

начальная точка.

.

б) Находят значения функции в вершинах симплекса:

.

в) Находят наибольшее значение функции , следующее за наибольшим значением , наименьшее значение функции и координаты соответствующих им точек .

г) Находят центр тяжести всех вершин сиплекса, исключая вершину с наибольшим значением функции:

.

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

,

где коэффициент отражения.

Рисунок

Вычисляют функцию .

е) Сравнивают значения функции и .

1) Если < , то выбранное направление наиболее удобно для перемещения. Выполняем растяжение и находим точку :

,

где коэффициент растяжения.

Рисунок

Вычисляют функцию . Сравнивают значения функций и .

Если < , то вершину симплекса с наибольшим значением функции заменяют вершиной с координатами (вершину и заменяют вершиной и соответственно). Проверяют сходимость и, если она не достигнута, возвращаются на шаг .

Если , то вершину симплекса с наибольшим значением функции заменяют вершиной с координатами (вершину и заменяют вершиной и соответственно). Проверяют сходимость и, если она не достигнута, возвращаются на шаг .

2) Если , но < , то точка является лучшей по сравнению, по крайней мере, с двумя точками симплекса. В этом случае то вершину симплекса с наибольшим значением функции заменяют вершиной с координатами (вершину и заменяют вершиной и соответственно). Проверяют сходимость и, если она не достигнута, возвращаются на шаг .

3) ) Если и > , то переходят к выполнению шага .

ж) Сравнивают и .

1) Если < , то вершину симплекса с наибольшим значением функции заменяют вершиной с координатами (вершину и заменяют вершиной и соответственно). Переходят к шагу (сжатие).

Рисунок

2) Если , то сразу переходят к шагу (сжатие).

Рисунок

и) Находят координаты вершины с помощью шага сжатия:

,

где коэффициент сжатия.

В вершине вычисляют значение функции и сравнивают его со значением функции .

1) Если < , то координаты вершины заменяют координатами , а значение функции заменяют . Проверяют сходимость и, если она не достигнута, возвращаются на шаг .

2) Если , то переходят к шагу .

к) Если , то все вершины симплекса перемещают на половину расстояния к вершине с наименьшим значением функции:

.

Переходят к шагу .

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

,

где .