Optimization Toolbox    

Updating the Hessian Matrix

At each major iteration a positive definite quasi-Newton approximation of the Hessian of the Lagrangian function, H, is calculated using the BFGS method where is an estimate of the Lagrange multipliers.

    

where
(2-28)  

Powell [32] recommends keeping the Hessian positive definite even though it may be positive indefinite at the solution point. A positive definite Hessian is maintained providing is positive at each update and that H is initialized with a positive definite matrix. When is not positive, is modified on an element by element basis so that . The general aim of this modification is to distort the elements of , which contribute to a positive definite update, as little as possible. Therefore, in the initial phase of the modification, the most negative element of is repeatedly halved. This procedure is continued until is greater than or equal to 1e-5. If after this procedure, is still not positive, is modified by adding a vector v multiplied by a constant scalar w, that is,

     (2-29)  

where

and w is systematically increased until becomes positive.

The functions fmincon, fminimax, fgoalattain, and fseminf all use SQP. If the options parameter Display is set to 'iter', then various information is given such as function values and the maximum constraint violation. When the Hessian has to be modified using the first phase of the procedure described above to keep it positive definite, then Hessian modified is displayed. If the Hessian has to be modified again using the second phase of the approach described above, then Hessian modified twice is displayed. When the QP subproblem is infeasible, then infeasible is displayed. Such displays are usually not a cause for concern but indicate that the problem is highly nonlinear and that convergence may take longer than usual. Sometimes the message no update is displayed indicating that is nearly zero. This can be an indication that the problem setup is wrong or you are trying to minimize a noncontinuous function.


 SQP Implementation Quadratic Programming Solution