Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
12.04.2015
Размер:
204.05 Кб
Скачать

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 11]

2.4. Вычислим шаг спуска ®1 по формуле:

 

 

 

 

®

1

=

¡

1; S1)

=

¡

(¡4=3) ¢ (16=9) + (4=3) ¢ (¡8=9)

=

3

;

 

 

 

 

 

 

 

 

 

 

 

(AS1; S1)

 

(32=9) ¢ (16=9) + (¡32=9) ¢ (¡8=9)

 

8

 

2.5. Тогда

x2 = x1 + ®1S1

=

·4=3¸

¡

8

¢

·¡8=9¸

=

·1¸

:

 

 

4=3

 

3

 

16=9

 

2

 

x2 = (2; 1)T :

Так как jj¡2jj = 0, то точка x2 найдено за два шага.

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 12]

2.6. Вычислим градиент в точке x2 = (2; 1)T :

 

2

0

2

4

¡2 = Ax2 ¡ b = ·0 4¸

¢ ·1¸ ¡

·4¸ =

· ¸

00 :

= (2; 1)T точка минимума. Решение

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 13]

2. МЕТОД ФЛЕТЧЕРА-РИВСА

Метод сопряженных градиентов часто называют методом Флетчера-Ривса.

Для того, чтобы применить этот метод для минимизации произвольной негладкой функции f(x), формулу для вычисления коэффициента ¯1

¯

=

(AS1; ¡k)

:

 

1

 

 

(AS1; S1)

 

 

 

 

преобразуют к виду

 

 

 

 

 

 

 

¯

1

=

k; ¡k ¡ ¡1)

или к виду

 

 

 

jj¡1jj2

 

 

 

 

 

 

 

 

¯1

 

=

jj¡kjj2

;

 

 

2

 

 

 

 

jj¡1jj

где ¡k = rf(xk) градиент функции f(x) в точке xk. Шаги ®k определяются численно с использованием методов одномерной минимизации:

'k(®k) = min 'k(®); ® > 0; 'k(®) = f(xk + ®Sk):

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 14]

 

 

 

Описание метода

 

 

 

A. Расчетная схема.

 

 

 

 

 

 

 

 

xk+1 = xk + ®kSk;

k = 0; 1; 2; :::;

 

S0 = ¡¡0; Sk = ¡¡k + ¯1S1; ¡k = rf(xk); k > 1;

¯

1

=

k; ¡k ¡ ¡1)

или ¯

=

jj¡kjj2

;

 

 

jj¡1jj2

 

 

1

jj¡1jj2

 

'k(®k) = min '(®);

® > 0;

'k(®) = f(xk + ®Sk):

Решение задачи одномерной минимизации

 

 

 

'k(®k) = min 'k(®);

® > 0;

'k(®) = f(xk + ®Sk):

для расчета ®k осуществляется численно.

 

 

 

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 15]

B. Обновление алгоритма.

Чтобы ослабить влияние погрешностей, используют процедуру ¾обновления¿ алгоритма, состоящую в том, что в формуле

Sk = ¡¡k + ¯1S1; k > 1

коэффициенты ¯1 не рассчитывают, а периодически через заданное число итераций полагают равными нулю:

¯1 = 0:

Соответствующий номер итерации называют моментом обновления алгоритма или рестартом.

Обычно множество таких номеров имеет вид:

Rs = fN; 2N; :::; pN; :::g; p 2 N;

N – размерность вектора x, N множество натуральных чисел.

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 16]

Алгоритм

1. Задать x0, "1 > 0, "2 > 0 и MaxStep предельное число итераций. Найти градиент rf(x).

2.k à 0.

3.Вычислить ¡k = rf(xk).

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 17]

4. Проверить критерий окончания поиска

jj¡kjj < "1:

Если jj¡kjj < "1, то положить x¤ = xk и закончить поиск. Если jj¡kjj > "1, то перейти к шагу 5.

5. Проверить условие k > MaxStep. Если k > MaxStep, то закончить поиск.

Если k < MaxStep, то при k = 0 перейти к шагу 6, а при k > 1 перейти к шагу 7.

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 18]

6. Определить

S0 = ¡¡0

и перейти к шагу 9. 7. Рассчитать ¯1:

Если k 2 Rs, то сделать рестарт, положив ¯1 = 0. Иначе

¯

1

=

k; ¡k ¡ ¡1)

или ¯

1

=

jj¡kjj2

;

jj¡1jj2

 

 

jj¡1jj2

 

 

 

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 19]

8. Определить направление спуска

Sk = ¡¡k + ¯1S1:

9. Вычислить шаг спуска ®k путем численного решения задачи одномерной минимизации:

'k(®k) = min 'k(®); ® > 0; 'k(®) = f(xk + ®Sk):

10. Найти следующее приближение к точке минимума x¤:

xk+1 = xk + ®kSk:

[Жусубалиев Ж.Т. Методы оптимизации. 2010. Слайд 20]

11. Проверить выполнение условий

jjxk+1 ¡ xkjj < "2 и jf(xk+1) ¡ f(xk)j < "2:

Если не выполняется хотя бы одно из условий, то k à k + 1 и перейти к шагу 3.

Иначе положить x¤ = xk и закончить поиск.

Соседние файлы в папке lecture