Exercises 32.4 Homework
1.
Modify Example 32.2.1 to include the idea of Broyden's method from Example 11.4.1: the script should not use the Hessian matrix fh
, instead relying on an approximation to its inverse obtained with Broyden's method. The following modification should help with convergence: start with small initial guess
B = 0.001*eye(2);
and make the stopping condition less restrictive:
norm(h) < 1e-6
Re-run the script several times (about five): since it has a random initial point, the results may differ. Does the minimization process converge to the minimum \((1, 1)\) every time?
Remark: the combination of ideas of Broyden's method and line search, with some modifications, is known as the BFGS algorithm, which is widely used for gradient-based unconstrained optimization. It is implemented in Matlab (fminunc
command), Python scientific library SciPy, etc.