Sequential quadratic programming
This article provides insufficient context for those unfamiliar with the subject. |
Sequential quadratic programming (SQP) is one of the most popular and robust algorithms for nonlinear continuous optimization. The method is based on solving a series of subproblems designed to minimize a quadratic model of the objective subject to a linearization of the constraints. If the problem is unconstrained, then the method reduces to Newton's method for finding a point where the gradient of the objective vanishes. If the problem has only equality constraints, then the method is equivalent to applying Newton's method to the first-order optimality conditions, or Karush-Kuhn-Tucker conditions, of the problem. A number of packages (including NPSOL, NLPQL, OPSYC, OPTIMA, MATLAB, and SQP) are founded on this approach.
Algorithm basics
Consider a nonlinear programming problem of the form:
The Lagrangian for this problem is
where and are Lagrange multipliers. At an iterate , a basic sequential quadratic programming algorithm defines an appropriate search direction as a solution to the quadratic programming subproblem
- <math>\min\limits_{d}\; f