- •Глава 3 Функции нескольких переменных
- •3.1. Критерии оптимальности
- •3.2. Методы прямого поиска
- •3.2.1. Метод поиска по симплексу (s2-метод)
- •3.2.2. Метод поиска Хука — Дживса
- •3.7. Итерация поиска по методу Хука—Дживса в примере 3.3.
- •3.2.3. Метод сопряженных направлений Пауэлла
- •3.3. Градиентные методы
- •3.3.1. Метод Коши [20]
- •3.3.2. Метод Ньютона [23]
- •3.3.3. Модифицированный метод Ньютона
- •3.3.4. Метод Марквардта
- •3.3.5. Методы сопряженных градиентов
- •3.3.6. Квазиньютоновские методы
- •3.3.7. Обобщенный градиентный алгоритм
- •3.3.8. Численная аппроксимация градиентов
- •3.4. Сравнение методов и результаты вычислительных экспериментов
- •3.5. Заключение
- •Контрольные вопросы и задачи
3.3.3. Модифицированный метод Ньютона
Опыт показывает, что при исследовании неквадратичных функций метод Ньютона не отличается высокой надежностью. В самом деле, если точка х(0) находится на значительном расстоянии от точки х*, шаг по методу Ньютона часто оказывается чрезмерно большим, что может привести к отсутствию сходимости. Метод можно довольно просто модифицировать, с тем чтобы обеспечить уменьшение целевой функции от итерации к итерации и осуществлять поиск вдоль прямой, как в методе Коши. Последовательность итераций строится в соответствии с формулой
x = x– αf (x)f(x). (3.56)
Выбор α осуществляется таким образом, чтобы
f (x) → min;
это гарантирует выполнение неравенства
f (x) ≤ f (x).
Такой метод носит название модифицированного метода Ньютона и в случаях, когда вычисление точных значений первых и вторых производных не сопряжено с существенными трудностями, оказывается надежным и эффективным. Однако при использовании модифицированного метода Ньютона на каждой итерации возникает необходимость построения и решения_линейного уравнения, содержащего элементы матрицы Гессе f().
3.3.4. Метод Марквардта
Рассматриваемый метод является комбинацией методов Коши и Ньютона, в которой удачно сочетаются положительные свойства обоих методов. Вместе с тем при использовании метода Марквардта требуется информация о значениях вторых производных целевой функции. Выше было отмечено, что градиент указывает направление наибольшего локального увеличения функции, а движение в направлении, противоположном градиенту, из точки х(0), расположенной на значительном расстоянии от точки минимума х*, обычно приводит к существенному уменьшению целевой функции. С другой стороны, направления эффективного поиска в окрестности точки минимума определяются по методу Ньютона. Простая идея объединения методов Коши и Ньютона была положена в основу алгоритма, разработанного Марквардтом [25] в 1963 г. В соответствии с этим методом направление поиска определяется равенством
s(x(k)) = – [Н(k) + λ(k)I]-1f (x(k)). (3.57)
При этом в формуле (3.42) следует положить α(k) = +1, поскольку параметр λ позволяет не только изменять направление поиска, но и регулировать длину шага. Символом I здесь обозначена единичная матрица, т. е. матрица, все элементы которой равны нулю, за исключением диагональных элементов, равных +1. На начальной стадии поиска параметру λ(0) приписывается большое значение (например, 104), так что
[Н(0) + λ(0)I]-1 = [λ(0)I]-1 = I. (3.58)
Таким образом, большим значениям λ(0) соответствует направление поиска s(x(0)) → f (x(0)).Из формулы (3.57) можно заключить, что при уменьшении λ до нуля s(x) изменяется от направления, противоположного градиенту, до направления, определяемого по методу Ньютона. Если после первого шага получена точка с меньшим значением целевой функции (т.е. f(х(1)) < f(x(0))), следует выбрать λ(1) < λ(0) и реализовать еще один шаг; в противном случае следует положить λ (0) = βλ(0), где β > 1, и вновь реализовать предыдущий шаг. Ниже представлены шаги алгоритма.
Алгоритм Марквардта
Шаг 1.Задать х(0) — начальное приближение к х*; М — максимальное (допустимое) количество итераций; ε — параметр сходимости.
Шаг 2.Положить k = 0, λ(0) = 104.
Шаг 3.Вычислить компоненты f (x(k)).
Шаг 4.Выполняется ли неравенство
||f (x(k))|| < ε?
Да: перейти к шагу 11.
Нет: перейти к следующему шагу.
Шаг 5.Выполняется ли неравенство k ≥ M?
Да: перейти к шагу 11.
Нет: перейти к следующему шагу.
Шаг 6.Вычислить s(x(k)) = – [Н(k) + λ(k)I]-1f (x(k)).
Шаг 7.Положить x = xs (x).
Шаг 8.Выполняется ли неравенство f (x) < f (x)?
Да: перейти к шагу 9.
Нет: перейти к шагу 10.
Шаг 9.Положить λ(k+1) = ½ λ(k) и k = k+1. Перейти к шагу 3.
Шаг 10.Положить λ(k) = 2λ(k). Перейти к шагу 6.
Шаг 11.Печать результатов и останов.
Метод Марквардта характеризуется относительной простотой, свойством убывания целевой функции при переходе от итерации к итерации, высокой скоростью сходимости в окрестности точки минимума х* , а также отсутствием процедуры поиска вдоль прямой. Главный недостаток метода заключается в необходимости вычисления Н(k) и последующего решения системы линейных уравнений, соответствующей (3.57). Этот метод широко используется при решении задач, в которых f(x) записывается в виде суммы квадратов1), т.е.
f (x) = f(x) + f(x) +…+ f(x). (3.59)
Именно такая задача рассматривалась Марквардтом. Пауэлл [26] и Бард [27] на основе вычислительных экспериментов показали, что метод Марквардта отличается высокой эффективностью при решении задач такого типа.