The Sequential Quadratic Programming Solver |
Solution Techniques |
Some of the solution techniques used by the SQP solver are outlined as follows:
The SQP solver solves QP subproblems to find a search direction. This subproblem involves some linear equality and inequality constraints, and an active set method is used to solve the subproblem.
An augmented Lagrangian function is employed as a merit function for the line search. Global convergence is ensured when the Wolfe-Powell conditions are satisfied.
A quasi-Newton update formula is used to approximate the inverse of the Hessian of the Lagrangian function.
The solver also provides an option, HESCHECK, to verify the second-order necessary condition for a local optimal solution (see Example 15.2). If the second-order necessary conditions are not satisfied for a given solution, and the HESCHECK option is specified, then the solver finds a search direction based on the second-order information to improve the solution. This feature ensures that the solver does not terminate at a saddle point, which is not optimal.
The SQP solver has a built-in procedure to find a good estimate of the Lagrange multipliers, given the starting points for the decision variables.
The SQP solver incorporates some strategies to scale an NLP problem so that the resulting scaled problem is easier to solve than the original one.
Copyright © SAS Institute, Inc. All Rights Reserved.