- •Глава 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.2. Метод Ньютона [23]
Нетрудно видеть, что в методе Коши применяется «наилучшая» локальная стратегия поиска с использованием градиента. Однако* движение в направлении, противоположном градиенту, приводит в точку минимума лишь в том случае, когда линии уровня функции f представляют собой окружности. Таким образом, направление, противоположное градиенту, вообще говоря, не может служить приемлемым глобальным направлением поиска точек оптимума нелинейных функций. Метод Коши основывается на последовательной линейной аппроксимации целевой функции и требует вычисления значений функции и ее первых производных на каждой итерации. Для того чтобы построить более общую стратегию поиска, следует привлечь информацию о вторых производных целевой функции.
Опять разложим целевую функцию в ряд Тейлора
f(x)=f(x)+f(x)∆x+½∆xf(x)∆x+O(∆x³).
Отбрасывая все члены разложения третьего порядка и выше, получим квадратичную аппроксимацию f(x):
(x; x) = f(x) + f(x)T∆x + ½∆xf(x)∆x, (3.48)
где (x; x) — аппроксимирующая функция переменной х, построенная в точке x. На основе квадратичной аппроксимации функции f(х) сформируем последовательность итераций таким образом, чтобы во вновь получаемой точке xградиент аппроксимирующей функции обращался в нуль. Имеем
(x; x) = + f(x)+ f(x) = 0, (3.49)
откуда ∆x: = –f(x)-1 f(x). (3.50)
Последовательное применение схемы квадратичной аппроксимации приводит к реализации оптимизационного метода Ньютона по формуле
x = x–f(x)-1 f(x), (3.51)
использование которого демонстрируется на следующем примере.
Пример 3.8. Метод Ньютона
Опять рассмотрим функцию из предыдущего примера:
При х(0) = [10, 10]T из формулы (3.51) получаем
и, следовательно,
х(1) = [10, 10]T – [1440, 1440]T = [0, 0]T,
что совпадает с точным решением.
Таким образом, задача минимизации квадратичной функции решается с помощью одной итерации по методу Ньютона (при любой начальной точке).
Свойства сходимости. Анализ свойств сходимости метода Ньютона представляет значительный интерес. Мангасариан [24] показал, что при выполнении некоторого (достаточно общего) условия регулярности f(x) метод Ньютона обнаруживает квадратичную скорость сходимости, т. е. выполняется неравенство
≤C,(3.52)
где постоянная С связана с обусловленностью матрицы Гессе f. Легко видеть, что метод Ньютона сходится всякий раз, когда выбор х(0) осуществляется в соответствии с условием
||ε (х(0))|| < . (3.53)
Квадратичная скорость сходимости объясняется тем обстоятельством, что метод основан на квадратичной аппроксимации. При минимизации произвольных функций целесообразно предположить, что в случае выбора начальной точки, удовлетворяющей неравенству ||ε (х(0))|| > , применение метода не приведет к получению решения. Заметим, что алгоритм не обладает свойством убывания значений целевой функции от итерации к итерации. Чтобы показать это, предположим, что текущее приближение не является стационарной точкой (т. е. (f() ≠ 0), и найдем проекцию направления поиска по методу Ньютона на направление, задаваемое градиентом в точке . По определению направление поиска называется направлением спуска, если имеет место неравенство
f()Ts() < 0. (3.54)
Таким образом, из формулы (3.51) следует, что должно выполняться неравенство
–f()Tf()-1f() < 0 (3.55)
Нетрудно видеть, что в случае, когда матрица f() положительно определена, это условие выполняется, т. е. направление поиска по методу Ньютона оказывается направлением спуска. Однако если в некоторой точке f() отрицательно определена, то указанное направление является направлением подъема, а в случае неопределенности матрицы Гессе однозначный вывод сделать нельзя.