37. Модификация метода БФГШ
Недостатком метода Бройдена – Флетчера – Гольдфарба – Шанно по сравнению с методом Девидона – Флетчера – Пауэлла является необходимость решения системы линейных алгебраических уравнений (4.30) для определения вектора направления одномерного поиска . Если коррекция некоторой квадратной матрицы проводится поправкой ранга один, то обратную матрицу можно найти по формуле Шермана – Моррисона
.
Дважды применяя эту формулу к формуле БФГШ (4.29), получим модификацию этой формулы
. (4.35)
Эта формула называется Модифицированной формулой Бройдена – Флетчера – Гольдфарба – Шанно, а использующий ее квазиньютоновский метод называется Модифицированным методом БФГШ. Вывод формулы (4.35) приведен в подразделе 5.4.
На первой итерации из заданной начальной точки выполняется одномерный поиск в направлении антиградиента:
, , , . (4.36)
Последующие итерации выполняются с учетом формулы (4.35):
, , , (4.37)
, (4.38)
, , . (4.39)
Итерации продолжаются до тех пор, пока выполняется условие
.
По формулам (4.36)–(4.39) составим алгоритм модифицированного метода Бройдена – Флетчера – Гольдфарба – Шанно.
Алгоритм модифицированного метода БФГШ.
Входные параметры: – начальная точка поиска, – процедура вычисления функции, – допустимая погрешность.
Выходной параметр – конечная точка поиска.
1. Вычислить и положить , .
2. Вычислить , .
3. Положить , .
4. Вычислить , , , .
5. Положить .
6. Вычислить .
7. Если , то перейти к шагу 2.
8. Остановиться.
Этот алгоритм не требует решения системы линейных алгебраических уравнений в отличие от предыдущего алгоритма.
Пример 4.7. Для вычисления точки минимума квадратичной функции (1.3) с допустимой погрешностью модифицированный метод БФГШ затратил 3 итерации и 19 вычислений функции. Траектория поиска такая же, как и траектория метода Бройдена из примера 4.1, представленная на рис. 4.1.
Пример 4.8. Минимизация функции Розенброка модифицированным методом БФГШ с погрешностью и допустимой погрешностью одномерного поиска потребовала 17 итераций и 265 вычислений функции, как и в примере 4.6, но время вычислений уменьшилось благодаря исключению решения СЛАУ. Траектория поиска такая же, как и на рис. 4.4. На рис. 4.5 представлена траектория минимизации функции Розенброка модифицированным методом БФГШ при и , что потребовало 26 итераций и 166 вычислений функции. При снижении точности одномерного поиска число итераций возросло, но количество вычислений функции уменьшилось. Этот пример подтверждает слабую чувствительность метода БФГШ к точности одномерного поиска.
Рис. 4.5. Минимизация функции Розенброка модифицированным методом БФГШ |
< Предыдущая | Следующая > |
---|