Лекция 11: Метод наискорейшего спуска. Метод Давидона – Флетчера – Пауэлла. Проблема оврагов. Проблема многоэкстремальности
2. Метод Давидона - Флетчера – Пауэлла
Начнем поиск из начальной точки x0, взяв в качестве начальной матрицу Н0 (обычно единичную матрицу, хотя в этом случае может подойти любая симметрическая положительно определенная матрица). Итерационная процедура может быть представлена следующим образом.
- На шаге i имеются точка xi и положительно определенная симметрическая матрица Hi.
- В качестве направления поиска взять направление
( 2.1) - Чтобы найти функцию xi,
минимизирующую функцию
, произвести одномерный поиск вдоль прямой
.
- Положить
( 2.2) - Положить
( 2.3) - Найти f(xi+1) и gi+1.
Завершить процедуру, если величины |gi+1| или |Vi| достаточно малы.
В противном случае продолжить.
- Положить
( 2.5) - Обновить матрицу H следующим образом:где
( 2.6) ( 2.7) - Увеличить i на единицу и вернуться на шаг 2.
Поясним процедуру, следуя аргументации Флетчера и Пауэлла.
а) Процесс будет устойчив, если функция vi
убывает и величина положительна. Поскольку gi есть направление наискорейшего возрастания,
функция vi будет убывать тогда, когда
произведение
![]() |
( 2.9) |
Это справедливо, если Hi - симметрическая положительно определенная матрица для любого i. Начальная матрица Н0 обладает этими свойствами по определению. Процесс обновления в соответствии с соотношениями 2.6 – 2.8 сохраняет симметричность гессиана. Методом индукции докажем, что после обновления матрица Hi остается положительно определенной. Если это условие справедливо, то
![]() |
( 2.10) |
Положим
![]() |
( 2.11) |

Тогда
![]() |
( 2.12) |

Знаменатель в соотношении (2.12) положителен, так как
![v_i^T u_i = v_i^T [g_{i+1} - g_i] = -v_i^T g_i,](/sites/default/files/tex_cache/bf33e6b3ccf235ad191617e283d1a299.png)

Следовательно,


Таким образом, , что и
доказывает положительную определенность матрицы Нi+1.
б) Теперь покажем, что если метод ДФП применяется к квадратичной функции (с симметрической положительно определенной матрицей G, то Нn = G-1 и поиск минимума закончится через n шагов. Для доказательства достаточно показать, что v0, v1, ..., vk - линейно независимые собственные векторы матрицы Hk+1G с собственными значениями, равными единице. Тогда матрица HnG должна быть единичной.
Отметим, что из соотношения (2.5) следует, что
![]() |
( 2.14) |
Кроме того,



Таким образом,
![]() |
( 2.15) |
Далее методом индукции по k покажем, что для к = 2, 3, ..., n справедливы соотношения
![]() |
( 2.16) |
![]() |
( 2.17) |
Для доказательства в соотношении (2.15) положим i = 0 и получим H1Gv0 = v0, т.е. соотношение (2.17) при k = 1. При k = 2 соотношение (2.17) будет иметь вид

Второе равенство следует из соотношения (2.15) при i = 1.
Для первого равенства имеем

Два последних члена в правой части равны нулю, поскольку



Теперь по индукции покажем, что если соотношения (2.16) и (2.17) справедливы при k, то они справедливы и при k + 1.
Имеем
![]() |
( 2.18) |
Из соотношения (2.16) при I < k — 1 получим


Тогда
![]() |
( 2.19) |



Следовательно,
![]() |
( 2.20) |
![]() |
( 2.21) |
Из соотношений (2.14) и (2.17) также имеем
![]() |
( 2.22) |
Тогда из соотношений (2.6) – (2.17) следует



Таким образом, показано, что
![]() |
( 2.23) |
При i = k имеем


Следовательно, Hk+1Gvk = vk и из соотношения (2.23) получаем
![]() |
( 2.24) |
Соотношения (2.21) и (2.24) так же справедливы для следующего k, как и соотношения (2.16) и (2.17). Следовательно, доказательство по индукции закончено. Из соотношения (2.16) следует, что векторы v0, v1, ..., vn-1 линейно независимы. Они являются взаимно сопряженными по отношению к матрице G. Из соотношения (2.17) следует, что v0, v1, ..., vn-1 являются собственными векторами матрицы HnG с собственным значением, равным единице. Тогда матрица HnG должна быть единичной. Следовательно,
![]() |
( 2.25) |
Из соотношения (2.19) следует, что минимум найден за n итераций. Вектор gn должен быть ортогонален каждому из n независимых векторов v0, v1, ..., vn-1. Следовательно,
![]() |
( 2.26) |
в) Способ обновления матрицы H описывается в соотношении (2.6):

Покажем, что .
Из условий ортогональности (2.16) следует
VTGV=D,
где V — матрица, состоящая из векторов vi, a D - диагональная
матрица с элементами .
Следовательно,
G=(VT)-1DV-1
Тогда
G-1=VDV-1VT,
а поскольку D - диагональная матрица, то можно произвести инверсию и перемножить матрицы для получения выражения

Таким образом,
![]() |
( 2.27) |
Поскольку соотношение (2.15) должно выполняться, то Нi+1Gvi - Vi, а это означает, что vi = HiGvi + AiGvi + BiGvi. Так как

![]() |
( 2.28) |
![]() |
( 2.29) |
Этим завершается теоретическое изложение метода ДФП, который использует как идеи метода Ньютона — Рафсона, так и свойство сопряженных направлений, и при применении для минимизации квадратичной функции n переменных он сходится не более чем за n итераций. Это весьма мощная оптимизационная процедура, очень эффективная при оптимизации большинства функций независимо от того, квадратичны они или нет.
Ниже приведена блок – схема данной процедуры.