The Sequential Quadratic Programming Solver

The sequential quadratic programming (SQP) solver is a component of the OPTMODEL procedure that can be used for solving general nonlinear programming (NLP) problems.

The general form of nonlinear optimization problems can be mathematically described as


where : is the nonlinear objective function, : is the set of general nonlinear equality and inequality constraints, and and are lower and upper bounds, respectively, on the decision variable .

The SQP solver uses an augmented Lagrangian penalty function as a merit function. The solver solves a QP subproblem to obtain a search direction, which is an approximation of the Newton direction to the minimum of the merit function. A line-search algorithm is then implemented along the resulting search direction. In the SQP solver, the line search is terminated when Wolfe-Powell conditions are satisfied, thereby ensuring global convergence to a local minimum.

The SQP solver has the following features that make it different from the other NLP solvers in the SAS/OR® suite:

In general, the SQP solver approaches the solution of a NLP problem through a sequence of points that might not be in the feasible region. Therefore, it requires that all the functions in the NLP problem be defined in the entire space, not just at the points that satisfy the constraints.

Another requirement is that all the functions in NLP problems be smooth. However, you do not need to supply the derivatives of these functions because the SQP solver calculates them, if needed.

For further details, see the SAS/OR® User's Guide: Mathematical Programming: The Sequential Quadratic Programming Solver.
( PDF | HTML )