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

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

1. В каких случаях метод L-BFGS нецелесообразно использовать вместо обычного ме- тода BFGS?

2. Можно сэкономить память, если вместо полных векторов и матриц взять их фрагмен- ты и оптимизировать задачу по частям. Например, использовать сначала не весь век- тор x, а вектор из первых двух его компонентов (x1, x2)T и соответствующую матрицу размером 2 × 2, потом (x3, x4)T, и так далее. Будет ли такой метод работоспособен и эффективен? Почему?

Идея метода доверительных областей

Пусть в ℬ – некоторой доверительной области (англ. Trust Region) – вычислительно слож- ная функция f(x) может быть аппроксимирована моделью mk(p), где p – новый шаг.

Тогда задача оптимизации ставится в виде

При этом расчет функции f(x) и ее производных необходим только при формировании новой модели, а линейный поиск внутри доверительной области осуществляется с использованием модели mk(p). Таким образом, если вычислительные затраты на расчет f(x) велики, то может быть достигнут значительный прирост производительности процесса оп- тимизации при сохранении его сходимости и точности.

Основные положения

Обычно считают, что доверительная область имеет форму шара радиусом ∆k. Тогда под- задача метода доверительных областей имеет вид

Для квадратичной модели можем записать:

∆k – радиус доверительной области.

На рисунке 1 показана доверительная область радиуса ∆k вокруг точки x0 на функции Химмельблау.

Трехмерные графики функции Химмельблау и ее модели показаны на рисунке 2.

Радиус новой доверительной области ∆k+1 находится следующим образом. Вначале мы вычисляем соотношение

где Aredk обозначает реальное уменьшение целевой функции (англ. actual reduction), а Predk – предсказанное моделью уменьшение (англ. predicted reduction). В виде формул это вы- глядит следующим образом:

Вычислив pk, мы принимаем решение о том, изменяем или оставляем прежним радиус доверительной области. Если pk ≈ 0, то уменьшаем ∆. Если pk ≈ 1, то увеличиваем ∆. Иначе, когда 0 < pk < 1, радиус ∆ остается неизменным.

Рассмотрим правила обновления новой точки и шага. Пусть задан некоторый малый порог n ∈ 0,1 , максимальный радиус области ∆¯ .

Найдем pk и обновим текущую точку:

Обновим радиус:

Зададимся вопросом, какой метод использовать для решения задачи

Чаще всего предлагаются следующие варианты:

1. Алгоритм Cauchy point – аналогичен наискорейшему спуску при pk ≤ ∆k.

2. Алгоритм Steihaug – аналогичен методу сопряженных градиентов.

3. Алгоритм Dogleg – последовательный поиск по двум линейным направлениям до гра- ницы доверительной области.

Два первых алгоритма нам уже известны. Рассмотрим алгоритм Dogleg. Его графиче- ская интерпретация дана на рисунке 3.

Суть алгоритма Dogleg заключается в нахождении минимума на ломаной линии, первая часть которой – вектор перемещения по градиенту pUk , а вторая – отрезок, соединяющий

концы вектора перемещения по градиенту pUk и ньютоновского вектора pBk.

Н айдем длину первого отрезка по направлению −gk:

Отрезок ньютоновского перемещения находится из соотношения

Поиск осуществляется по параметрической траектории т ∈ [0; 2]:

Решается задача оптимизации:

Проверяется ограничение:

Новая точка находится по формуле