Лекция 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) положителен, так как
поскольку из уравнения (2.4).Следовательно,
так как и матрица Hi положительно определена.Таким образом, , что и доказывает положительную определенность матрицы Нi+1.
б) Теперь покажем, что если метод ДФП применяется к квадратичной функции (с симметрической положительно определенной матрицей G, то Нn = G-1 и поиск минимума закончится через n шагов. Для доказательства достаточно показать, что v0, v1, ..., vk - линейно независимые собственные векторы матрицы Hk+1G с собственными значениями, равными единице. Тогда матрица HnG должна быть единичной.
Отметим, что из соотношения (2.5) следует, что
( 2.14) |
Кроме того,
что следует из соотношений (2.6) – (2.8) и из того, что и можно сократить.Таким образом,
( 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.15) при i = 0 и из соотношения (2.4) при i = 0. Кроме того, u1 = Gv1, так что . Таким образом, показано, что соотношение (2.17) справедливо при k = 2. После переноса в другую часть уравнения получим требуемый результат: что является соотношением (2.6) при k = 2.Теперь по индукции покажем, что если соотношения (2.16) и (2.17) справедливы при k, то они справедливы и при k + 1.
Имеем
( 2.18) |
Из соотношения (2.16) при I < k — 1 получим
и из соотношения (2.4) непосредственно следует, чтоТогда
( 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.14))Таким образом,
( 2.27) |
Поскольку соотношение (2.15) должно выполняться, то Нi+1Gvi - Vi, а это означает, что vi = HiGvi + AiGvi + BiGvi. Так как
то( 2.28) |
( 2.29) |
Этим завершается теоретическое изложение метода ДФП, который использует как идеи метода Ньютона — Рафсона, так и свойство сопряженных направлений, и при применении для минимизации квадратичной функции n переменных он сходится не более чем за n итераций. Это весьма мощная оптимизационная процедура, очень эффективная при оптимизации большинства функций независимо от того, квадратичны они или нет.
Ниже приведена блок – схема данной процедуры.