Алгоритм

Шаг 1. Задать x 0, ε1> 0, ε2> 0, M — предельное число итераций. Найти градиент ∇ f (x) и матрицу Гессе Н (х).

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

Шаг 3. Вычислить ∇ f (xk).

Шаг 4. Проверить выполнение критерия окончания || ∇ f (xk) || ≤ ε1:

а) если неравенство выполнено, расчет окончен и х *= х k;

б) в противном случае перейти к шагу 5.

Шаг 5. Проверить условие kМ:

а) если неравенство выполнено, расчет окончен и х *= х k;

б) если нет, перейти к шагу 6.

Шаг 6. Вычислить Н (х k).

Шаг 7. Вычислить матрицу Н –1(х k).

Шаг 8. Проверить выполнение условия Н –1(х k) > 0:

а) если Н –1(х k) > 0, то перейти к шагу 9;

б) если нет, то перейти к шагу 10, положив dk = – ∇ f (xk).

Шаг 9. Определить dk = – Н –1(х k) ∇ f (xk).

Шаг 10. Найти точку х k +1= х k + tkdk,

положив tk = 1, если dk = – Н –1(х k) ∇ f (xk),

или выбрав tk из условия f (xk + 1) < f (xk), если dk = – ∇ f (xk).

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

|| xk +1 – xk || < ε2, | f (xk +1) – f (xk) | < ε2:

а) если оба условия выполнены при текущем значении k и k = k – 1, то расчет окончен, х *= xk + l;

б) в противном случае положить k = k + 1 и перейти к шагу 3.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: