Этот метод существенно
эффективнее предыдущих методов, особенно при минимизации функций овражного
типа. Общая идея метода заключается в том, что выбирается система ортогональных
направлений
, в каждом из которых последовательно ищется минимальное
значение, после чего система направлений поворачивается так, чтобы одна из осей
совпала с направлением полного перемещения, а остальные были ортогональны между
собой.
Пусть
- вектор начального приближения;
- система ортогональных
направлений. На первой итерации это может быть ортонормированная система
координат. Начиная с
, последовательно осуществляем минимизацию функции
в соответствующих
направлениях
, находя последовательные приближения:
,
,
….
,
.
Следующая итерация начнется
с точки
. Если не изменить систему направлений, то будем иметь
алгоритм Гаусса. Поэтому после завершения
-го этапа вычисляем новые направления поиска.
Ортогональные направления поиска поворачиваются так, чтобы они оказались
вытянутыми вдоль "оврага" ("хребта") и, таким образом,
исключается взаимодействие переменных (
). Направления поиска вытягиваются вдоль главных осей
квадратичной аппроксимации целевой функции. Рассмотрим некоторую
-ю итерацию алгоритма Розенброка. В результате минимизации по каждому из
ортогональных направлений на данной итерации мы имеем систему параметров
, с помощью которых определим систему векторов
, вычисляемых по формулам следующего вида:
;
;
…
;
.
С помощью системы векторов
строим новую систему
ортогональных направлений
. Причем первый вектор направляют так, чтобы он совпал с
направлением общего перемещения на
-м шаге, а остальные получаются с помощью процедуры
ортогонализации Грама-Шмидта:
;
;
;
(1)
;
; ![]()
Для работы алгоритма
необходимо, чтобы ни один из векторов системы
не стал нулевым
вектором. Для этого в алгоритме следует располагать параметры
в порядке убывания по
абсолютному значению, т.е.
. Тогда если любые
из
обращаются в нуль, то отыскиваются новые направления по (1) только для
тех
направлений, для
которых
, оставшиеся же
направлений остаются
неизменными:
,
. Так как первые
векторов взаимно
ортогональны,
,
, первые
векторов не будут
иметь составляющих в направлениях
,
. А поскольку эти последние направления взаимно ортогональны,
то из этого следует, что все направления являются взаимно ортогональными.
Палмером было
показано, что
и
пропорциональны
(при условии, что
). Следовательно, при вычислении
, величина
сокращается, и, таким
образом,
остается определенным,
если даже
. Имея это в виду Палмер предложил
для вычисления
следующие соотношения:
,
,
,
,
.
Критерии
останова алгоритма могут быть стандартными (т.е. описанными в предыдущих
алгоритмах прямых методов).
