Метод Дэвидона-Флетчера-Пауэлла.




Пусть дана функция 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 – заданное число, или при kM (M – предельное число итераций), или при двукратном выполнении двух неравенств , где ε 2 – малое положительное число.

 

Алгоритм.

Шаг 1. Задать X 0, ε 1>0, ε 2>0, предельное число итераций M. Найти градиент функции в произвольной точке .

Шаг 2. Положить k =0, А 0= Е.

Шаг 3. Вычислить

Шаг 4. Проверить выполнение критерия окончания :

а) если критерий выполнен, то X *= Xk;

б) иначе перейти к шагу 5.

Шаг 5. Проверить выполнение равенства kM:

а) если неравенство выполнено, то 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. Проверим выполнение условия kM: k =0<10= M, переходим к шагу 10.

100. Определим :

110. Вычислим α0 на основе метода квадратичной аппроксимации: α0 =0,24. Подробное описание вычислений приведено в примере 4, пункт 6 0.

120. Вычислим

130. Проверим условия

:

.

Полагаем k = k +1=1 и переходим к шагу 3.

31. Вычислим : .

41. Проверим условие : .

51. Проверим условие kM: 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 – заданное число, или при kM (M – предельное число итераций), или при двукратном выполнении двух неравенств , где ε 2 – малое положительное число.

Алгоритм

Шаг 1. Задать начальную точку X 0, ε 1>0, ε 2>0, предельное число итераций M. Найти градиент функции в произвольной точке и матрицу Гессе H (X).

Шаг 2. Положить k =0.

Шаг 3. Вычислить

Шаг 4. Проверить выполнение критерия окончания :

а) если критерий выполнен, то X *= Xk;

б) иначе перейти к шагу 5.

Шаг 5. Проверить выполнение равенства kM:

а) если неравенство выполнено, то 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) Т является точкой минимума функции. Так как рассматриваемая функция является квадратичной, вычислительный процесс сходится за одну итерацию.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: