Шаг 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.