Пусть дана функция f (X), ограниченная снизу на множестве и имеющая непрерывные частные производные во всех его точках.
Требуется найти безусловный минимум функции f (X) на множестве допустимых решений, то есть найти такую точку , что
.
Стратегия поиска
Стратегия метода Дэвидона-Флетчера-Пауэлла (Д-Ф-П) состоит в построении последовательности точек { Xk }, k =0,1, …, таких что, , k=0,1, …. Точки последовательности { Xk } вычисляются по правилу [4,5]:
(4.9)
, (4.10)
где Ak – матрица размера , которая вычисляется по правилу:
(4.11)
, (4.12)
где , Е — единичная матрица размера .
Точка X 0 задается пользователем, величина шага αk определяется в результате решения задачи минимизации функции f (X) вдоль выбранного направления Sk на основе методов однопараметрической минимизации.
Формулы (4.11) и (4.12) при аналитическом решении задачи минимизации f (X) обеспечивают построение последовательности { Аk } положительно определенных матриц, таких, что при . Следствием этого для квадратичной функции направления Sk будут Н -сопряженными и, следовательно, алгоритм Д-Ф-П сойдется не более чем за n шагов.
Для неквадратичных функций f (X) алгоритм перестает быть конечным и его сходимость зависит от точности решения задачи минимизации шага вдоль направления поиска. Глобальную сходимость алгоритма можно гарантировать лишь при его обновлении через каждые n шагов, то есть, когда в выражении (4.10)
Построение последовательности { Xk } заканчивается в точке Xk, для которой , где ε 1 – заданное число, или при k ≤ M (M – предельное число итераций), или при двукратном выполнении двух неравенств , где ε 2 – малое положительное число.
Алгоритм.
Шаг 1. Задать X 0, ε 1>0, ε 2>0, предельное число итераций M. Найти градиент функции в произвольной точке .
|
Шаг 2. Положить k =0, А 0= Е.
Шаг 3. Вычислить
Шаг 4. Проверить выполнение критерия окончания :
а) если критерий выполнен, то X *= Xk;
б) иначе перейти к шагу 5.
Шаг 5. Проверить выполнение равенства k ≥ M:
а) если неравенство выполнено, то X *= Xk и расчет закончен.
б) иначе перейти при k =0 перейти к шагу 10, а при k≥1 перейти к шагу 6.
Шаг 6. Вычислить .
Шаг 7. Вычислить .
Шаг 8. Вычислить .
Шаг 9. Вычислить .
Шаг 10. Определить .
Шаг 11. Вычислить величину αk в соотношении на основе метода полиномиальной аппроксимации, положив αk 1=0, Δ α =0,1.
Шаг 12. Вычислить .
Шаг 13. Проверить выполнение условий:
:
а) если оба неравенства выполняются в двух последовательных итерациях с номерами k и k -1, то расчет окончен и X *= Xk;
б) в противном случае положить k = k +1 и перейти к шагу 3.
Пример 6. Найти локальный минимум функции f (X)=2 x 12+ x 1 x 2+ x 22 на основе Д-Ф-П метода. Выполнять вычисления, пока не будет выполнен хотя бы один из критериев окончания расчетов.
1. Зададим X 0, ε 1, ε 2, М: X 0= , ε 1=0,1; ε 2=0,15; М =10. Найдем градиент функции в произвольной точке .
2. Положим k =0, А 0= Е= .
30. Вычислим : .
40. Проверим выполнение условия : .
5 0. Проверим выполнение условия k ≥ M: k =0<10= M, переходим к шагу 10.
100. Определим :
110. Вычислим α0 на основе метода квадратичной аппроксимации: α0 =0,24. Подробное описание вычислений приведено в примере 4, пункт 6 0.
120. Вычислим
130. Проверим условия
:
.
Полагаем k = k +1=1 и переходим к шагу 3.
31. Вычислим : .
41. Проверим условие : .
51. Проверим условие k ≥ M: k =1<10= M, переходим к шагу 6.
|
60. Вычислим : .
70. Вычислим :
80. Вычислим :
.
90. Вычислим : .
101. Определим : .
111. Вычислим α1 на основе метода квадратичной аппроксимации: α1 =0,618.
121. Вычислим
131. Проверим условия
:
.
Полагаем k = k +1=2 и переходим к шагу 3.
32. Вычислим : .
42. Проверим условие : .
Расчет окончен в точке X 2=(0;0) Т. Эта точка является минимумом рассматриваемой функции.
5 Методы второго порядка. Метод Ньютона.
Пусть дана функция f (X), ограниченная снизу на множестве и имеющая непрерывные частные производные во всех его точках.
Требуется найти безусловный минимум функции f (X) на множестве допустимых решений, то есть найти такую точку , что
.
Стратегия поиска
Стратегия метода Ньютона состоит в построении последовательности точек { Xk }, k =0,1, …, таких что, , k=0,1, …. Точки последовательности { Xk } вычисляются по правилу [4,5]:
, (5.1)
где X 0 — задается пользователем, а направление спуска Sk определяется для каждого значения k по формуле
. (5.2)
Выбор Sk по формуле (5.2) гарантирует выполнения требования при условии, что . Формула (5.2) получена из следующих соображений.
Для определения направления убывания значений функции f (X) и величины шага вдоль выбранного направления метод Ньютона использует информацию о вторых частных производных функции. Разложим функцию f (X) в ряд Тэйлора в окрестности точки Xk:
. (5.3)
В разложении функции f (X) (5.3) отбросим все члены третьего порядка и выше:
(5.4)
Функция Fk представляет собой квадратичную функцию, аппроксимирующую заданную функцию f (X) в точке Xk. Минимум функции Fk является оценкой минимума функции f (X). Определим величину , при которой аппроксимирующая функция Fk достигнет минимального значения. В соответствии с необходимым условием существования экстремума имеем:
|
. (5.5)
Подставив (5.4) в уравнение (5.5), получим
. (5.6)
Решая (5.6) относительно , получим оценку минимума функции f (X):
,
где H (Xk) – матрица Гессе, вычисленная в точке Xk.
Для квадратичных функций метод Ньютона сходится за одну итерацию, для неквадратичных функций сходимость метода определяется точностью решения задачи.
Построение последовательности { Xk } заканчивается в точке Xk, для которой , где ε 1 – заданное число, или при k ≤ M (M – предельное число итераций), или при двукратном выполнении двух неравенств , где ε 2 – малое положительное число.
Алгоритм
Шаг 1. Задать начальную точку X 0, ε 1>0, ε 2>0, предельное число итераций M. Найти градиент функции в произвольной точке и матрицу Гессе H (X).
Шаг 2. Положить k =0.
Шаг 3. Вычислить
Шаг 4. Проверить выполнение критерия окончания :
а) если критерий выполнен, то X *= Xk;
б) иначе перейти к шагу 5.
Шаг 5. Проверить выполнение равенства k ≥ M:
а) если неравенство выполнено, то X *= Xk;
б) иначе перейти к шагу 6.
Шаг 6. Определить матрицу Гессе H (Xk).
Шаг 7. Определить матрицу, обратную матрице Гессе H-1 (Xk).
Шаг 8. Определить .
Шаг 9. Определить точку .
Шаг 10. Проверить выполнение условий:
:
а) если оба неравенства выполняются в двух последовательных итерациях с номерами k и k -1, то расчет окончен и X *= Xk;
б) в противном случае положить k = k +1 и перейти к шагу 3.
Пример 7. Определить минимум функции f (X)=2 x 12+ x 1 x 2+ x 22. Выполнять вычисления, пока не будет выполнен хотя бы один из критериев окончания расчетов.
1. Зададим X 0= , ε 1=0,1, ε 2=0,15, М =10.
Вычислим градиент функции в произвольной точке и матрицу Гессе .
2. Положим k =0.
3 0. Вычислим .
4 0. Вычислим . Перейти к шагу 5.
5 0. Проверим условие k =0<10, перейти к шагу 6.
6 0. Определим матрицу Гессе: .
7 0. Определим матрицу, обратную матрице Гессе:
;
.
8 0. Вычислим
9 0. Вычислим .
10 0. Вычислим .
Вычислим . Полагаем k = k +1=1 и переходим к шагу 3.
3 1. Вычислим .
4 1. Вычислим .
Точка Х 1=(0,0) Т является точкой минимума функции. Так как рассматриваемая функция является квадратичной, вычислительный процесс сходится за одну итерацию.