Sequential linear-quadratic programming


Sequential linear-quadratic programming is an iterative method for nonlinear optimization problems where objective function and constraints are twice continuously differentiable. Similarly to sequential quadratic programming, SLQP proceeds by solving a sequence of optimization subproblems. The difference between the two approaches is that:
This decomposition makes SLQP suitable to large-scale optimization problems, for which efficient LP and EQP solvers are available, these problems being easier to scale than full-fledge quadratic programs.

Algorithm basics

Consider a nonlinear programming problem of the form:
The Lagrangian for this problem is
where and are Lagrange multipliers.

LP phase

In the LP phase of SLQP, the following linear program is solved:
Let denote the active set at the optimum of this problem, that is to say, the set of constraints that are equal to zero at. Denote by and the sub-vectors of and corresponding to elements of.

EQP phase

In the EQP phase of SLQP, the search direction of the step is obtained by solving the following quadratic program:
Note that the term in the objective functions above may be left out for the minimization problems, since it is constant.