Лабораторная работа: Методы оптимизации функций многих переменных
Steepest descent method:
x2 (-1.200031, - 1.706888) Hessian: Convex
grad_f (x2) = (-0.963083, 0.275166)
f (x2) = - 1.741440
В результате двух итераций мы получили точку, достаточно близкую к точке глобального минимума.
Теперь из точки (-2; - 2) стартует метод Ньютона с поправкой гессиана. Результат двух итераций:
Newtonmethod:
x2 (-2.735431, - 2.306328) Hessian: Alternatingsign
grad_f (x2) = (-0.110421, 0.031948)
f (x2) = - 0.018516
Видно, что метод расходится. Начальная точка выбрана неудачно. Увеличение числа итераций приводит к дальнейшему расхождению метода. Это объясняется тем, что в начальной точке функция не является выпуклой. Анализируя линии уровня функции, выберем начальную точку ближе к оптимальной. Например, (-1; - 2):
x0 (-1.000000, - 2.000000) Hessian: Convex,
f (x0) = - 1.471518, cond H (x0) = 3.786885
Newton method:
x2 (-1.047041, - 1.722604) Hessian: Convex
grad_f (x2) = (0.379214, - 0.339841)
f (x2) = - 1.787758
Как в начальной, так и в конечной точке функция является выпуклой. За две итерации мы приблизились к точке А 2 (-1,068; - 1,668).
Теперь возьмем начальную точку еще ближе к А 2 , например (-1; - 1,5):
x0 (-1.000000, - 1.500000) Hessian: Convex
f (x0) = - 1.752302
cond H (x0) = 3.857905
Newton method:
x2 (-1.067889, - 1.667566) Hessian: Convex
grad_f (x2) = (0.000000, 0.000000)
f (x2) = - 1.801131
Метод Ньютона достиг точки глобального минимума, об этом говорит практически нулевой вектор-градиент.
Точное значение отличается от полученного методом Ньютона на 4,729∙10-7 (по модулю).
Выводы .