Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НМО экзамен (2).docx
Скачиваний:
0
Добавлен:
24.01.2026
Размер:
22.95 Mб
Скачать

Методы сопряженных градиентов

Полученные в предыдущем разделе соотношения можно использовать в алгоритме опти- мизации, сформулированном ниже.

Алгоритм 1: Алгоритм сопряженных градиентов для квадратичной функции

Данный алгоритм легко обобщается на нелинейный случай, только вместо фиксирован- ного числа итераций используется КОП.

Алгоритм 2: Нелинейный метод сопряженных градиентов

Вместо точного линейного поиска для нахождения αk целесообразно использовать метод приближенного поиска на основе условий Вульфа.

Существует несколько формул для нахождения нового значения βk.

Формула Флетчера-Ривза:

Формула Полака-Рибьера:

Формула Хестенеса-Штифеля:

Формула Дая-Юана:

Важным практическим вопросом является выбор одной из этих формул. Следует руководствоваться следующими рекомендациями.

1. В квадратичном случае все формулы идентичны.

2. В нелинейном случае предпочтение «по умолчанию лучше отдать формуле Полака-Рибьера.

Рассмотрим пример работы метода Полака-Рибьера. Функция Химмельблау, начальная точка x0 = (1, 0)T, точность ε = 10—5. Траектория оптимизации показана на рисунке 4.

Рассмотрим второй пример. Функция Розенброка, начальная точка x0 = (—1, —2)T, точность ε = 10—9. Траектория оптимизации показана на рисунке 5.

Методы сопряженных градиентов имеют следующие преимущества и недостатки.

1. В квадратичном случае сходится за n итераций, если матрица Гессе положительно- определенная.

2. Желательно, чтобы матрица Гессе обладала диагональным преобладанием: |Hii| ≥

3. Чувствителен к малому возмущению, плохо сходится для матриц с большим числом обусловленности .

Число обусловленности вычисляется по формуле . Оно определяет, насколько задача овражная.

1. Для сферической квадратичной задачи f (x) = Σ x2 I число обусловленности µ = 1.

2. Для сильно овражной задачи модуль числа обусловленности |µ| → ∞.

Зная число обусловленности, можно дать некоторый прогноз скорости сходимости ме- тода оптимизации.

Дополнение

Дадим вывод аналитического выражения для величины шага α в методе наискорейшего спуска при оптимизации квадратичной задачи. Пусть последовательность

xk+1 = xk αk gk

порождает взаимно перпендикулярные направления на соседних шагах. Отсюда:

Также докажем сходимость метода сопряженных направлений в квадратичном случае за n шагов.

Через n шагов ошибка равна:

Вопросы для самопроверки

1. Покажите, что в квадратичном случае все формулы методов сопряженных градиентов идентичны.

2. Почему в нелинейном случае методы сопряженных градиентов не обязательно сой- дутся за n шагов?

Идея квазиньютоновских методов

Рассмотрим уравнение демпфированного метода Ньютона:

Идея квазиньютоновских методов заключается в том, что мы заменяем матрицу Гессе ∇2f(xk) на ее при- ближение Bk:

или заменяем обратную матрицу Гессе (∇2f(xk))^1 на ее приближение Hk :

Какие проблемы метода Ньютона мы хотим решить, предлагая новый класс методов? Основные проблемы метода Ньютона следующие:

1. Вычислительная сложность расчета матрицы Гессе ∇2f(xk).

2. Матрица Гессе ∇2f(xk) не всегда положительно-определенная, что приводит к ложному направлению поиска.

Что потребуем от новых методов:

1. Не нужно вычислять матрицу Гессе ∇2f(xk)..

2. Аппроксимация матрицы Гессе Bk всегда (почти всегда) положительно-определенная.

3. Опция: при использовании в алгоритме напрямую приближенной обратной матрицы Гессе Hk = Bk1 не нужно выполнять обращение матрицы или решенать СЛАУ относительно вектора pk, которое имеет сложность O(n3).

Как Bk может быть всегда положительно определенная? На рисунке 1 приведена в качестве примера ап- проксимация f(x) функцией

Локально, в окрестности точки x0, функция T (x) имеет те же свойства, что и f(x), при этом ее матрица Гессе положительно-определенная, в отличие от f(x).

Вывод квазиньютоновских методов

Покажем, каким образом мы заменяем матрицу Гессе ∇2f(xk) на ее приближение Bk.

Введем обозначения:

Bk+1 должна удовлетворять уравнению секущих:

Поскольку

Поскольку матрица Bk+1 положительно-определенная:

то должно выполняться условие кривизны

Решение этой задачи - формула метода Дэвидона-Флетчера-Пауэлла (ДФП):

Применяя формулу Шермана-Моррисона-Вудбери к (1), выведем матричное уравнение для матрицы Hk+1 =B(k+1)^-1

Покажем, как найти матрицу Hk , заменяющую матрицу тем же способом, что и Bk. Hk+1 должна удовлетворять уравнению секущих: поскольку

Поскольку матрица Hk+1 положительно-определенная, то должно также выполняться условие кривизны

Пусть матрица Hk+1 – наиболее близкая из всех возможных матриц к Hk:

Решение этой задачи - формула метода Бройдена-Флетчера-Гольдфарба-Шанно (БФГШ):

Аналогично (1), можно получить и формулу для неинвертированной матрицы Гессе:

В обоих случаях, уравнение квазиньютоновского метода записывается как:

Выбор ak осуществляется с помощью точного линейного поиска

или методом на основе правила Армихо, или методом на основе условий Вульфа.

Квазиньютоновские методы оптимизации

Сформулируем в виде алгоритма метод ДФП, имея в виду, что метод БФГШ будет аналогичен с точностью до формулы для Hk.

Алгоритм 1: Алгоритм ДФП

Рассмотрим пример работы метода ДФП. Функция Химмельблау, начальная точка x0 = (1, 0), точность e = 103. Траектория оптимизации показана на рисунке 2.

Т акже рассмотрим пример работы метода ДФП на функции Розенброка. Начальная точка x0 = (−2, −1), точность e = 103. Траектория оптимизации показана на рисунке 3.

В качестве геометрической иллюстрации рассмотрим последней шаг оптимизации функции Розенброка, показав в виде поверхностей графики как самой функции Розенброка, так и ее квадратичной аппроксимации с использованием квазиньютоновской матрицы. Из рисунка 4 видно, что форма аппроксимационного парабо- лоида (изображен более прозрачной поверхностью) локально близка к форме исходной функции.

Зеленым отмечена найденная точка минимума.

Если говорить о том, какой метод из двух рассмотренных более эффективен, то ряд авторов склоняется в пользу метода БФГШ, поэтому он используется значительно чаще.

Вопросы для самопроверки

1. Дайте оценку, насколько более эффективным будет использование алгоритма линейного поиска на основе правила Вульфа по сравнению с методом золотого сечения для поиска ak в методах ДФП и БФГШ.

2. Если в качестве квазиньютоновской матрицы использовать линейную комбинацию матриц, даваемых формулами ДФП и БФГШ, будет ли такой метод работать?