Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700519.doc
Скачиваний:
9
Добавлен:
01.05.2022
Размер:
23.89 Mб
Скачать

3.3.3. Методы минимизации квазиньютоновского типа

Рассмотрим класс алгоритмов , которые основаны на квадра­тичной апроксимации минимизируемой функции Q(x) в ∆-окрестности каждого приближения хk разложением в ряд Тейлора (3.101). В связи с тем, что для определения очередного приращения ∆k эти алгоритмы требуют вычисления первых и вторых производных функций Q(x), они получили название методов второго порядка.

В том случае, когда гессиан G(xk) является положительно опреде­ленной матрицей, приращение ∆k, обеспечивающее наибольшую скорость уменьшения функции Q(x) при постоянном значении квадратичной части разложения в ряд Тейлора, определяется из ре­шения задачи оптимизации:

(3.111)

при условии, что

Построим для сформулированной задачи функций Лагранжа:

Значения ∆ и а должны удовлетворять системе уравнений:

откуда следует, что оптимальным решением задачи (3.111) является вектор:

(3.112)

где (G–1(хk) — матрица, обратная гессиану функции Q(x), вычис­ленному в точке хk.

Алгоритм , основанный на использовании итерационной формулы (3.82), где процедуры выбора длины шага и направления поиска sk совмещены и сводятся к вычислению приращения ∆k по формуле (3.112), является реализацией метода Ньютона. Основная идея этого метода заключается в том, что на каждой ите­рации осуществляется выбор приращения А*, соответствующего расстоянию до минимального значения квадратичной формы (3.101), аппроксимирующей нелинейную функцию Q(x) в точке хk рядом Тейлора (рис. 3.11). При минимизации квадратичной функции Q(x) = xTGx + bT х + а, независимо от значения коэффициентов обусловленности матрицы G, метод Ньютона F13 позволяет найти точку локального минимума х* из любого начального приближения х0 за одну итерацию.

Недостатком метода Ньютона является требование, чтобы на­чальное приближение х0 находилась в достаточно малой окрестно­сти точки локального минимума х*. При выполнении этого требова­ния алгоритм F13 обладает квадратичной скоростью сходимости. Однако на практике это условие часто трудно выполнить, в связи с чем при неудачном начальном приближении х0 использование ме­тода Ньютона может привести к расходящемуся процессу.

Для обеспечения сходимости метода Ньютона к точке минимума х* независимо от значения начального приближения х0 будем опре­делять приращение k следующим образом:

(3.113)

где длина шага является оптимальным решением одномерной за­дачи оптимизации:

x2

(3.114)

Рис. 3.11. Геометрическая интерпретация метода Ньютона с точки зрения квадра­тичной аппроксимации минимизируемой функции Q(x) усеченными рядами Тейло­ра относительно точек испытаний х0, х1, х2 (пунктирные линии уровня)

Вместо решения задачи оптимизации (3.114) длину шага можно выбирать из условия:

(3.115)

Для этого на каждой итерации, начиная с значения , умень­шают шаг до тех пор, пока не выполнится неравенство (3.115). Если приближение хk находится далеко от точки минимума хk, то дли­ну шага назначают небольшой, при приближении точки хk к точ­ке х* длина шага будет стремиться к единице.

Алгоритм , основанный на итерационной формуле (3.82), в которой приращение k определяется выражением (3.113), а длина шага регулируется условием (3.114) или (3.115), называет­ся методом Ньютона с регулируемым шагом.

Общим недостатком алгоритмов F13 и F14 является то, что в них процесс поиска точки минимума х* может расходиться, если гессиан G(xk) не является положительно определенной матрицей.

Для обеспечения требования, чтобы на каждой итерации гессиан G(xk) был положительно определенной матрицей, можно использо­вать следующий прием:

(3.116)

где Е — единичная матрица; — достаточно большое положитель­ное число.

Тогда существует ортогональная матрица V такая, что

VTG(xk) V = VTG(xk)V + E = Д(xk) + E, (3.117)

где Д(xk) — диагональная матрица, элементы dii(xk) которой рав­ны собственным значениям гессиана G(xk). Из соотношения пол­учаем:

(Д(xk) + E)–1 = 1 / (dii(xk)+ ). (3.118)

Следовательно, использование в выражении (3.118) значения:

(3.119)

позволяет уничтожить отрицательные собственные значения в пре­образованной матрице . Однако при слишком больших значе­ниях может оказаться, что тогда процесс поиска точ­ки минимума х* по алгоритму F13 (или Fl4) приближается к процес­су поиска по методу наискорейшего спуска F10 со всеми его недо­статками.

В связи со сказанным выше выбор параметра будем осуществ­лять путем решения следующей одномерной задачи оптимизации:

(3.120)

при условии, что

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

Нетрудно видеть, что

Следовательно, оптимальное значение параметра , является решением уравнения:

(3.121)

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

  1. На первой итерации (k = 0) для заданного начального прибли­жения х0 вычисляют значение градиента и гессиана G(x0) минимизируемой функции Q(x).

  2. Определяют точку очередного испытания

где — оптимальное решение одномерной задачи оптимизации

  1. Если выполняется неравенство

Q(xk + 1) < Q(xk),

то в точке хк + 1 вычисляют градиент и гессиан G(xk), принимают: k := k + 1 и все вычисления повторяют с шага 2. В противном случае , переходят к шагу 4.

  1. Гессиан G(xk) преобразуют в матрицу

где — решение уравнения:

  1. Определяют точку очередного испытания:

где — оптимальное решение одномерной задачи оптимизации:

  1. Поиск точки локального минимума х* заканчивается, если вы­полняется условие . В противном случае все вычис­ления повторяют с шага 2.

Общим недостатком алгоритмов, реализующих различные моди­фикации метода Ньютона является то, что в них требуется вычис­лять матрицу вторых производных G(xk) и осуществлять обращение этой матрицы G-1(xk). В связи с этим рассмотрим класс алгоритмов , не требующих вычисления матриц G(xk) и G-1(xk). Алгоритмы этого класса основаны на формировании специальным образом по­следовательности матриц (H0, H1, …, Hk). Эта последовательность обладает тем свойством, что каждый элемент матрицы Нk аппрок­симирует на k-м шаге соответствующий элемент матрицы G-1(xk), но вычисляется только на основании информации о значениях пер­вых производных функции Q(x).

Как было показано, для квадратичной функции Q(x) = xTGx + bTх + а метод Ньютона позволяет получить точку минимума х* из любого начального приближения, например, хk + 1 и хk, за одну ите­рацию:

Откуда получаем равенство, характерное для метода Ньютона:

k = xk + 1 – xk = G–1yk , (3.122)

где

В дальнейшем потребуем, чтобы для любой матрицы H1, …, Hk, получаемой из рекуррентного соотношения:

Hk + 1 = Hk + ∆Hk, k = 0, 1, 2, … (3.123)

выполнялось условие, называемое квазиньютоновским уравнением:

k = Hk + 1Уk (3.124)

или, учитывая соотношение (3.123), вместо соотношения (3.124) пол­учаем равенство

(3.125)

где

Гессиан квадратичной функции является симметричной матри­цей (G = GT), поэтому потребуем, чтобы каждая из матриц Нk так­же была симметричной. Чтобы сохранить это свойство у матрицы Нk+1, необходимо, чтобы для поправки ∆Нk выполнялось условие:

(3.126)

Класс алгоритмов , в которых направление поиска на каждой итерации определяется с помощью выражения

(3.127)

где матрица Нk удовлетворяет условиям (3.123) — (3.126), получил на­звание квазиньютоновских методов минимизации.

В связи с тем, что матрица ∆Нk, удовлетворяющая условиям (3.125) — (3.126), является не единственной, будем определять значе­ния ее элементов из решения следующей задачи оптимизации:

(3.128)

при условии, что

∆Hkyk = ∆k – Hkyk = (3.129)

∆Hk = ∆ (3.130)

где Ф(∆Н) — сумма квадратов диагональных элементов матрицы ∆Н;

Тr (∆Н, ∆НT) — след (трек) матрицы (∆H, ∆HТ);

.

Можно показать, что оптимальное решение задачи (3.128) — (3.130) получают с помощью следующего выражения:

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

В том случае, когда матрица П является единичной (П = Е), для поправки ∆Нk получаем выражение:

(3.132)

Если матрица П совпадает с текущим значением матрицы Hk, аппроксимирующей матрицу G–1 на k-м шаге (П = Hk), то для по­правки ∆Hk получаем выражение:

(3.133)

Широко известной является поправка ∆Hk, используемая в ал­горитме Давидона-Флетчера-Пауэла :

(3.134)

Теоретическое сравнение методов сопряженных направлений и квазиньютоновских методов минимизации показывает, что при ми­нимизации квадратичных функций они полностью совпадают. При минимизации нелинейных функций Q(x) квазиньютоновские мето­ды оказываются предпочтительнее, если "дно оврага" функции Q(x) не очень извилистое. Однако программная реализация квазиньюто­новских методов требует больших затрат оперативной памяти, чем при реализации методов сопряженных направлений.