1. Алгоритм Хука и Дживса

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

  1. исследующий поиск вокруг базисной точки img01;

  2. поиск по "образцу", т.е. в направлении, выбранном для минимизации.

Задается начальная точка поиска img02 и начальное приращение (шаг) img03, после чего начинается исследующий поиск.

Исследующий поиск:

Делаем пробный шаг по переменной img04, т.е. определяем точку img05 и вычисляем значение функции для точки img06.

Если значение функции в данной точке больше, чем значение функции img07, то делаем пробный шаг по этой же переменной, но в противоположном направлении. Если значение функции в точке img08 также больше, чем img09, то оставляем точку img10 без изменений. Иначе заменяем точку img11 на img12 или на img13 в зависимости от того, где значение функции меньше исходного. Из вновь полученной точки делаем пробные шаги по оставшимся координатам, используя тот же самый алгоритм.

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

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

Поиск по образцу:

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

img17.

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

img19.

Из точки img20 начинаем новый исследующий поиск и т.д.

img21


Рис. 2

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






Hosted by uCoz