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 13.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 © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.