Quadratic Programming
From NEOS
Contents |
The quadratic programming (QP) problem involves minimization of a quadratic function subject to linear constraints. Most codes use the formulation
| QP: | minimize | | |
| subject to | | for
| |
| for ,
|
where
is symmetric, and the index sets
and
specify the inequality and equality constraints, respectively. Quadratic programs are fundamental since many other types of optimization are solved by solving a sequence of QP (this method is known as Sequential Quadratic Programming or SQP).
The difficulty of solving the quadratic programming problem depends largely on the nature of the matrix
. In convex quadratic programs, which are relatively easy to solve - there are polynomial-time algorithms - , the matrix
is positive semidefinite (on the feasible set). If
has negative eigenvalues-nonconvex quadratic programming-then the objective function may have more than one local minimizer, and the problem is NP-complete. An extreme example is the problem
,
which has a minimizer at any
with
for
- a total of
local minimizers.
Optimality conditions
Necessary optimality conditions for the vector
to be a local minimizer of problem QP are that it should be
primal feasible, i.e.,
for
and
for
,
dual feasible, i.e.,
and
for
,
for some vector of Lagrange multipliers
, and that the complementary slackness condition
for all
,
should hold. These requirements are commonly known as the Karush-Kuhn_Tucker (KKT) conditions.
Such a point is a local minimizer if and only if
for all vectors
, where
| for and such that and , and
| |
for such that and
|
This second-order condition is trivially satisfied for convex problems, but may be hard (NP-complete) to check for non-convex ones
if there are many
for which
and
.
Algorithms
Equality-constrained quadratic programs
Equality-constrained quadratic programs arise, not only as subproblems in solving the general problem, but also in structural analysis and other areas of application. Null-space methods for solving
EQP: minimize
subject to
find a full-rank matrix
, such that
spans the null space of
. This matrix can be computed with orthogonal factorizations or, in the case of sparse problems, by LU factorization of a submatrix of
, just as in the simplex method for linear programming. Given a feasible vector
, we can express any other feasible vector
in the form
-
for some
. Direct computation shows that the equality-constrained subproblem EQP is equivalent to the unconstrained subproblem
-
If the reduced Hessian matrix
is positive definite, then the unique solution
of this subproblem can be obtained by solving the linear system
-
The solution
of the equality-constrained subproblem EQP is then recovered by using
. Lagrange multipliers can be computed from
by noting that the first-order condition for optimality in EQP is that there exists a multiplier vector
such that
-
If
has full rank, then
-
is the unique set of multipliers. Most traditional codes use null-space methods. Range-space methods for problem EQP can be used when
is positive definite and easy to invert, for example, diagonal or block-diagonal. In this approach, the solution and the multiplier vectors are calculated from the formulae
-
and
-
Although this approach works only for a subclass of problems, there are many applications in which it is useful. Finally, full-space methods compute both
and
together by solving the symmetric, indefinite block system of linear equations
Full-space methods are particularly useful when the problem is large and sparse as the resulting block system retains this sparsity.
The reduced Hessian is positive definite if and only if the number of negative eigenvalues of the full-space system matrix is equal to the rank of
.
Active-set methods
The codes in the BQPD, LINDO, LSSOL, PORT 3, QPA and QPOPT packages are based on active set methods. After finding a feasible point during an initial phase, these methods search for a solution along the edges and faces of the feasible set by solving a sequence of equality-constrained quadratic programming problems. Active set methods differ from the simplex method for linear programming in that neither the iterates nor the solution need be vertices of the feasible set. When the quadratic programming problem is nonconvex, these methods usually find a local minimizer. Finding a global minimizer is a more difficult task that is not addressed by the software currently available.
Active set methods for the inequality-constrained problem QP solve a sequence of equality-constrained problems. Given a feasible
, these methods find a direction
by solving the subproblem
EQPk : minimize
subject to
where
is the objective function
-
and
is a working set of constraints. In all cases
is a subset of
-
the set of constraints that are active at
. Typically,
either is equal to
or else has one fewer index than
.
The working set
is updated at each iteration with the aim of determining the set
of active constraints at a solution
. When
is equal to
, a local minimizer of the original problem can be obtained as a solution of the equality-constrained subproblem EQPk . The updating of
depends on the solution of the direction-finding subproblem.
Subproblem EQPk has a solution if the reduced Hessian matrix
is positive definite. This is always the case if
is positive definite. If subproblem EQPk has a solution
, we compute the largest possible step
that does not violate any constraints, and we set
, where
.
The step
would take us to the minimizer of the objective function on the subspace defined by the current working set, but it may be necessary to truncate this step if a new constraint is encountered. The working set is updated by including in
all constraints active at
.
If the solution to subproblem EQPk is
, then
is the minimizer of the objective function on the subspace defined by
. First-order optimality conditions for subproblem EQPk imply that there are multipliers
such that
.
If
for
, then xk is a local minimizer of problem QP. Otherwise, we obtain
by deleting one of the indices
for which
. As in the case of linear programming, various pricing schemes for making this choice can be implemented.
If the reduced Hessian matrix
is indefinite, then subproblem EQPk is unbounded below. In this case we need to determine a direction
such that
is unbounded below, using techniques based on factorizations of the reduced Hessian matrix. Given
, we compute
as before, and define
.
The new working set
is obtained by adding to
all constraints active at
.
A key to the efficient implementation of active set methods is the reuse of information from solving the equality-constrained subproblem at the next iteration. The only difference between consecutive subproblems is that the working set grows or shrinks by a single component. Efficient codes perform updates of the matrix factorizations obtained at the previous iteration, rather than calculating them from scratch each time.
The LSSOL package (duplicated in NAG C Library) is specifically designed for convex quadratic programs and linearly constrained linear least squares problems. It is not aimed at large-scale problems; the constraint matrices and the Hessian
are all specified in dense storage format. The quadratic programming routine in IMSL contains codes for dense quadratic programs. If the matrix
is not positive definite, it is replaced by
-
,
where
is chosen large enough to force convexity.
BQPD uses a null-space method to solve quadratic programs that are not necessarily convex. The linear algebra operations are performed in a modular way; the user is allowed to choose between sparse and dense matrix algebra. The reduced Hessian matrix is, however, processed as a dense matrix, even when sparse techniques are used to handle
and the constraints. The code is efficient for large-scale problems when the size of the working set is close to
. LINDO also takes account of sparsity, while MATLAB, and QPOPT (also available in the NAG C Library library) are designed for dense quadratic programs that are not necessarily convex. QPA uses a full-space approach together with a Schur-complement update to account for changes in the working set; the code is thus appropriate in the sparse case, and is designed to handle non-convex problems.
Path-following methods
Path-following (or as they are sometimes known, trajectory-following, barrier or interior point) methods offer a good alternative to the earlier active-set methods. The packages
COPL,
CPLEX,
CQP,
CVXOPT,
Gurobi,
HOPDM,
LOQO,
MOSEK,
QPB,
RegQP
and
Xpress
are all based on path-following ideas. Although path-following methods may be applied to the general problem QP, it is easier to describe them for problems of the form
QP2: minimize
subject to
and
,
for which first-order optimality conditions are that
and
for
,
for optimal primal variables
, Lagrange multipliers
,
and dual variables
.
In their simplest form, interior-point methods trace the central path that is defined as the solution
to the parametric nonlinear system
and
for
with
as the scalar t decreases to 0. Notice that all points on the central path are primal and dual feasible, and that complementary slackness is achieved in the limit as t approaches 0. A disadvantage of this simple idea is that a point
must be available for some t0 > 0, but such a point may be found as a first-order critical point of the logarithmic-barrier function
within the region
; indeed, early path-following methods were based on a sequential minimization of the logarithmic barrier function.
Notwithstanding, to cope with this potential deficiency, "infeasible" interior point methods start from any
for which
and follow instead the trajectory
that satisfies the homotopy
,
, and
for
as t decreases from 1 to 0. The scalar function
may be any increasing function for which
and
. The simplest choice
is popular, but there are theoretical advantages in using
since then the unknown trajectory
is analytic for convex problems at t = 0.
In practice, it is sometimes advantageous for numerical reasons to aim for a small value of the complementarity instead of zero, and in this case the complementary slackness part of the homotopy may be replaced by
for
and some small centering parameter
.
Notice that all of these homotopies define their trajectories
implicitly; all that is known is the starting point
. Many path-following methods replace the true but unknown
by a Taylor series
approximation
evaluated about
, and trace this approximation instead. Clearly, as
is simply an approximation, it will most likely diverge from
as
t decreases from 1 towards 0. To cope with this, sophisticated safeguarding rules are used to decide how far t may decrease while giving an adequate approximation, and if
is this best value,
is replaced by
and the process repeated. The resulting iteration defines a typical path-following method.
The centering parameter is sometimes computed after a initial predictor step (a first-order Taylor approximation with σ = 0) is used to compute an estimate of the solution. Once σ > 0 is known, the Taylor approximation to the revised homotopy gives the corrector step.
The Taylor series coefficients are found by repeated differentiation of the homotopy equations with respect to t,
and the kth order coefficients (x(k),y(k),z(k)) may be obtained by solving the linear system
where
and
are the diagonal matrices whose diagonal entries are
and
respectively, and the right-hand side r(k) depends on the values of previously-calculated lower-order coefficients.
Since the coefficient matrix is the same for each order of coefficients, a single factorization enables us to find increasingly accurate Taylor approximations at a gradually increasing but reasonable cost. Block elimination of the system results in the
smaller, symmetric system
and this is usually exploited in practice; the variables z(k) may be recovered as
. Some algorithms seek to avoid possible numerical difficulties by regularizing these
defining systems. For example, the coefficient matrix above is replaced by
where Dp and Dd are small, positive-definite diagonal perturbations. Other algorithms, try to avoid these
difficulties by pre-processing the data to remove singularities. Both techniques appear to work well in practice.
If the problem is convex, iterations of the form described can be shown to converge very fast and in a polynomially-bounded number of iterations. For non-convex problems, most methods prefer instead to approximately minimize the logarithmic barrier function for a decreasing sequence of values of t0 using a globally-convergent (linesearch or trust-region) method typically used for linearly-constrained optimization; many of the details - such as the structure of the vital linear systems - are effectively the same as in the convex case.
Linear Least-Squares Problems
Linear least squares problems are special instances of convex quadratic programs that arise frequently in data-fitting applications. The linear least squares problem
LLS: minimize
subject to
for
for
,
where
and
, is a special case of problem QP; we can see this by replacing
by
and
by
in problem QP. In general, it is preferable to solve a least squares problem with a code that takes advantage of the special structure of the least squares problem (for example, LSSOL).
Algorithms for solving linear least squares problems tend to rely on full- or null-space active set methods. For a least squares problem the null-space matrix
can be obtained from the
factorization of
explicit formation of
is avoided, since
is usually less well conditioned than
.
Software
Main article: Quadratic Programming Software
Modeling languages that include QP solvers
Main article: Quadratic Programming Modelling Langauages
References
- A. Altman & J. Gondzio, Regularized symmetric indefinite systems in interior point methods for linear and quadratic optimization. Optimization Methods and Software, 11 (1999) pp. 275-302.
- R. Fletcher, A general quadratic programming algorithm. Journal of the Institute of Mathematics and its Applications, 7 (1971), pp. 76-91.
- M.P. Friedlander & D. Orban, A primal-dual regularized interior-point method for convex quadratic programs. Mathematical Programming Computation 4 (2012), pp. 71-107.
- P.E. Gill, W. Murray, M.A. Saunders & M.H. Wright, Inertia-controlling methods for general quadratic programming. SIAM Review, 33 (1991), pp. 1-36.
- D. Goldfarb & A.U. Idnani (1983), A numerically stable dual method for solving strictly convex quadratic programs. Mathematical Programming, 27 (1983), pp. 1-33.
- N.I.M. Gould & Ph.L. Toint, An iterative working-set method for large-scale non-convex quadratic programming. Applied Numerical Mathematics, 43 (2002), pp. 109-128.
- N.I.M. Gould, D. Orban, A. Sartenaer & Ph.L. Toint, Superlinear convergence of primal-dual interior point algorithms for nonlinear programming. SIAM Journal on Optimization, 11 (2001), pp. 974-1002.
- M.K. Kozlov, S.P. Tarasov & L.G. Khachiyan, Polynomial solvability of convex quadratic programming. Soviet Mathematics Doklady, 20 (1979), pp. 1108-1111
- K.G. Murty & S.N. Kabadi, Some NP-complete problems in quadratic and nonlinear programming. Mathematical Programming, 39 (1987), pp. 117-129.
- F.A. Potra & J. Stoer, On a class of superlinearly convergent polynomial time interior point methods for sufficient LCP. SIAM Journal on Optimization, 20 (2009), pp. 1333-1363.
- J. Stoer &, M. Wechs, Infeasible-interior-point paths for sufficient linear complementarity problems and their analyticity. Mathematical Programming, 83 (1998), pp. 407-423.
- J. Stoer &, M. Wechs On the analyticity properties of infeasible-interior-point paths for monotone linear complementarity problems. Numerische Mathematik, 81 (1999), pp. 631-645.
- R.J. Vanderbei, LOQO: An interior point code for quadratic programming. Optimization Methods and Software, 12 (1999) pp. 451–484.
- S.A. Vavasis, Nonlinear Optimization: Complexity Issues, Oxford University Press, Oxford, England (1991).
- Y. Zhang, On the convergence of a class of infeasible interior-point methods for the horizontal linear complementarity problem. SIAM Journal on Optimization, 4 (1994), pp. 208-227.
- G. Zhao & J. Sun, On the rate of local convergence of high-order-infeasible-path- following algorithms for p * -linear complementarity problems. Computational Optimization and Applications, 14 (1999), pp. 293-307.
See also the somewhat outdated BiBTeX QP bibliography by Nick Gould and Philippe Toint, and a summarising paper
Return to Algorithms or Quadratic Programming Directory
Equality-constrained quadratic programs arise, not only as subproblems in solving the general problem, but also in structural analysis and other areas of application. Null-space methods for solving
| EQP: | minimize |
|
| subject to |
|
find a full-rank matrix
, such that
spans the null space of
. This matrix can be computed with orthogonal factorizations or, in the case of sparse problems, by LU factorization of a submatrix of
, just as in the simplex method for linear programming. Given a feasible vector
, we can express any other feasible vector
in the form
for some
. Direct computation shows that the equality-constrained subproblem EQP is equivalent to the unconstrained subproblem
If the reduced Hessian matrix
is positive definite, then the unique solution
of this subproblem can be obtained by solving the linear system
The solution
of the equality-constrained subproblem EQP is then recovered by using
. Lagrange multipliers can be computed from
by noting that the first-order condition for optimality in EQP is that there exists a multiplier vector
such that
If
has full rank, then
is the unique set of multipliers. Most traditional codes use null-space methods. Range-space methods for problem EQP can be used when
is positive definite and easy to invert, for example, diagonal or block-diagonal. In this approach, the solution and the multiplier vectors are calculated from the formulae
and
Although this approach works only for a subclass of problems, there are many applications in which it is useful. Finally, full-space methods compute both
and
together by solving the symmetric, indefinite block system of linear equations
Full-space methods are particularly useful when the problem is large and sparse as the resulting block system retains this sparsity.
The reduced Hessian is positive definite if and only if the number of negative eigenvalues of the full-space system matrix is equal to the rank of
.
Active-set methods
The codes in the BQPD, LINDO, LSSOL, PORT 3, QPA and QPOPT packages are based on active set methods. After finding a feasible point during an initial phase, these methods search for a solution along the edges and faces of the feasible set by solving a sequence of equality-constrained quadratic programming problems. Active set methods differ from the simplex method for linear programming in that neither the iterates nor the solution need be vertices of the feasible set. When the quadratic programming problem is nonconvex, these methods usually find a local minimizer. Finding a global minimizer is a more difficult task that is not addressed by the software currently available.
Active set methods for the inequality-constrained problem QP solve a sequence of equality-constrained problems. Given a feasible
, these methods find a direction
by solving the subproblem
EQPk : minimize
subject to
where
is the objective function
-
and
is a working set of constraints. In all cases
is a subset of
-
the set of constraints that are active at
. Typically,
either is equal to
or else has one fewer index than
.
The working set
is updated at each iteration with the aim of determining the set
of active constraints at a solution
. When
is equal to
, a local minimizer of the original problem can be obtained as a solution of the equality-constrained subproblem EQPk . The updating of
depends on the solution of the direction-finding subproblem.
Subproblem EQPk has a solution if the reduced Hessian matrix
is positive definite. This is always the case if
is positive definite. If subproblem EQPk has a solution
, we compute the largest possible step
that does not violate any constraints, and we set
, where
.
The step
would take us to the minimizer of the objective function on the subspace defined by the current working set, but it may be necessary to truncate this step if a new constraint is encountered. The working set is updated by including in
all constraints active at
.
If the solution to subproblem EQPk is
, then
is the minimizer of the objective function on the subspace defined by
. First-order optimality conditions for subproblem EQPk imply that there are multipliers
such that
.
If
for
, then xk is a local minimizer of problem QP. Otherwise, we obtain
by deleting one of the indices
for which
. As in the case of linear programming, various pricing schemes for making this choice can be implemented.
If the reduced Hessian matrix
is indefinite, then subproblem EQPk is unbounded below. In this case we need to determine a direction
such that
is unbounded below, using techniques based on factorizations of the reduced Hessian matrix. Given
, we compute
as before, and define
.
The new working set
is obtained by adding to
all constraints active at
.
A key to the efficient implementation of active set methods is the reuse of information from solving the equality-constrained subproblem at the next iteration. The only difference between consecutive subproblems is that the working set grows or shrinks by a single component. Efficient codes perform updates of the matrix factorizations obtained at the previous iteration, rather than calculating them from scratch each time.
The LSSOL package (duplicated in NAG C Library) is specifically designed for convex quadratic programs and linearly constrained linear least squares problems. It is not aimed at large-scale problems; the constraint matrices and the Hessian
are all specified in dense storage format. The quadratic programming routine in IMSL contains codes for dense quadratic programs. If the matrix
is not positive definite, it is replaced by
-
,
where
is chosen large enough to force convexity.
BQPD uses a null-space method to solve quadratic programs that are not necessarily convex. The linear algebra operations are performed in a modular way; the user is allowed to choose between sparse and dense matrix algebra. The reduced Hessian matrix is, however, processed as a dense matrix, even when sparse techniques are used to handle
and the constraints. The code is efficient for large-scale problems when the size of the working set is close to
. LINDO also takes account of sparsity, while MATLAB, and QPOPT (also available in the NAG C Library library) are designed for dense quadratic programs that are not necessarily convex. QPA uses a full-space approach together with a Schur-complement update to account for changes in the working set; the code is thus appropriate in the sparse case, and is designed to handle non-convex problems.
Path-following methods
Path-following (or as they are sometimes known, trajectory-following, barrier or interior point) methods offer a good alternative to the earlier active-set methods. The packages
COPL,
CPLEX,
CQP,
CVXOPT,
Gurobi,
HOPDM,
LOQO,
MOSEK,
QPB,
RegQP
and
Xpress
are all based on path-following ideas. Although path-following methods may be applied to the general problem QP, it is easier to describe them for problems of the form
QP2: minimize
subject to
and
,
for which first-order optimality conditions are that
and
for
,
for optimal primal variables
, Lagrange multipliers
,
and dual variables
.
In their simplest form, interior-point methods trace the central path that is defined as the solution
to the parametric nonlinear system
and
for
with
as the scalar t decreases to 0. Notice that all points on the central path are primal and dual feasible, and that complementary slackness is achieved in the limit as t approaches 0. A disadvantage of this simple idea is that a point
must be available for some t0 > 0, but such a point may be found as a first-order critical point of the logarithmic-barrier function
within the region
; indeed, early path-following methods were based on a sequential minimization of the logarithmic barrier function.
Notwithstanding, to cope with this potential deficiency, "infeasible" interior point methods start from any
for which
and follow instead the trajectory
that satisfies the homotopy
,
, and
for
as t decreases from 1 to 0. The scalar function
may be any increasing function for which
and
. The simplest choice
is popular, but there are theoretical advantages in using
since then the unknown trajectory
is analytic for convex problems at t = 0.
In practice, it is sometimes advantageous for numerical reasons to aim for a small value of the complementarity instead of zero, and in this case the complementary slackness part of the homotopy may be replaced by
for
and some small centering parameter
.
Notice that all of these homotopies define their trajectories
implicitly; all that is known is the starting point
. Many path-following methods replace the true but unknown
by a Taylor series
approximation
evaluated about
, and trace this approximation instead. Clearly, as
is simply an approximation, it will most likely diverge from
as
t decreases from 1 towards 0. To cope with this, sophisticated safeguarding rules are used to decide how far t may decrease while giving an adequate approximation, and if
is this best value,
is replaced by
and the process repeated. The resulting iteration defines a typical path-following method.
The centering parameter is sometimes computed after a initial predictor step (a first-order Taylor approximation with σ = 0) is used to compute an estimate of the solution. Once σ > 0 is known, the Taylor approximation to the revised homotopy gives the corrector step.
The Taylor series coefficients are found by repeated differentiation of the homotopy equations with respect to t,
and the kth order coefficients (x(k),y(k),z(k)) may be obtained by solving the linear system
where
and
are the diagonal matrices whose diagonal entries are
and
respectively, and the right-hand side r(k) depends on the values of previously-calculated lower-order coefficients.
Since the coefficient matrix is the same for each order of coefficients, a single factorization enables us to find increasingly accurate Taylor approximations at a gradually increasing but reasonable cost. Block elimination of the system results in the
smaller, symmetric system
and this is usually exploited in practice; the variables z(k) may be recovered as
. Some algorithms seek to avoid possible numerical difficulties by regularizing these
defining systems. For example, the coefficient matrix above is replaced by
where Dp and Dd are small, positive-definite diagonal perturbations. Other algorithms, try to avoid these
difficulties by pre-processing the data to remove singularities. Both techniques appear to work well in practice.
If the problem is convex, iterations of the form described can be shown to converge very fast and in a polynomially-bounded number of iterations. For non-convex problems, most methods prefer instead to approximately minimize the logarithmic barrier function for a decreasing sequence of values of t0 using a globally-convergent (linesearch or trust-region) method typically used for linearly-constrained optimization; many of the details - such as the structure of the vital linear systems - are effectively the same as in the convex case.
Linear Least-Squares Problems
Linear least squares problems are special instances of convex quadratic programs that arise frequently in data-fitting applications. The linear least squares problem
LLS: minimize
subject to
for
for
,
where
and
, is a special case of problem QP; we can see this by replacing
by
and
by
in problem QP. In general, it is preferable to solve a least squares problem with a code that takes advantage of the special structure of the least squares problem (for example, LSSOL).
Algorithms for solving linear least squares problems tend to rely on full- or null-space active set methods. For a least squares problem the null-space matrix
can be obtained from the
factorization of
explicit formation of
is avoided, since
is usually less well conditioned than
.
Software
Main article: Quadratic Programming Software
Modeling languages that include QP solvers
Main article: Quadratic Programming Modelling Langauages
References
- A. Altman & J. Gondzio, Regularized symmetric indefinite systems in interior point methods for linear and quadratic optimization. Optimization Methods and Software, 11 (1999) pp. 275-302.
- R. Fletcher, A general quadratic programming algorithm. Journal of the Institute of Mathematics and its Applications, 7 (1971), pp. 76-91.
- M.P. Friedlander & D. Orban, A primal-dual regularized interior-point method for convex quadratic programs. Mathematical Programming Computation 4 (2012), pp. 71-107.
- P.E. Gill, W. Murray, M.A. Saunders & M.H. Wright, Inertia-controlling methods for general quadratic programming. SIAM Review, 33 (1991), pp. 1-36.
- D. Goldfarb & A.U. Idnani (1983), A numerically stable dual method for solving strictly convex quadratic programs. Mathematical Programming, 27 (1983), pp. 1-33.
- N.I.M. Gould & Ph.L. Toint, An iterative working-set method for large-scale non-convex quadratic programming. Applied Numerical Mathematics, 43 (2002), pp. 109-128.
- N.I.M. Gould, D. Orban, A. Sartenaer & Ph.L. Toint, Superlinear convergence of primal-dual interior point algorithms for nonlinear programming. SIAM Journal on Optimization, 11 (2001), pp. 974-1002.
- M.K. Kozlov, S.P. Tarasov & L.G. Khachiyan, Polynomial solvability of convex quadratic programming. Soviet Mathematics Doklady, 20 (1979), pp. 1108-1111
- K.G. Murty & S.N. Kabadi, Some NP-complete problems in quadratic and nonlinear programming. Mathematical Programming, 39 (1987), pp. 117-129.
- F.A. Potra & J. Stoer, On a class of superlinearly convergent polynomial time interior point methods for sufficient LCP. SIAM Journal on Optimization, 20 (2009), pp. 1333-1363.
- J. Stoer &, M. Wechs, Infeasible-interior-point paths for sufficient linear complementarity problems and their analyticity. Mathematical Programming, 83 (1998), pp. 407-423.
- J. Stoer &, M. Wechs On the analyticity properties of infeasible-interior-point paths for monotone linear complementarity problems. Numerische Mathematik, 81 (1999), pp. 631-645.
- R.J. Vanderbei, LOQO: An interior point code for quadratic programming. Optimization Methods and Software, 12 (1999) pp. 451–484.
- S.A. Vavasis, Nonlinear Optimization: Complexity Issues, Oxford University Press, Oxford, England (1991).
- Y. Zhang, On the convergence of a class of infeasible interior-point methods for the horizontal linear complementarity problem. SIAM Journal on Optimization, 4 (1994), pp. 208-227.
- G. Zhao & J. Sun, On the rate of local convergence of high-order-infeasible-path- following algorithms for p * -linear complementarity problems. Computational Optimization and Applications, 14 (1999), pp. 293-307.
See also the somewhat outdated BiBTeX QP bibliography by Nick Gould and Philippe Toint, and a summarising paper
Return to Algorithms or Quadratic Programming Directory
The codes in the BQPD, LINDO, LSSOL, PORT 3, QPA and QPOPT packages are based on active set methods. After finding a feasible point during an initial phase, these methods search for a solution along the edges and faces of the feasible set by solving a sequence of equality-constrained quadratic programming problems. Active set methods differ from the simplex method for linear programming in that neither the iterates nor the solution need be vertices of the feasible set. When the quadratic programming problem is nonconvex, these methods usually find a local minimizer. Finding a global minimizer is a more difficult task that is not addressed by the software currently available.
Active set methods for the inequality-constrained problem QP solve a sequence of equality-constrained problems. Given a feasible
, these methods find a direction
by solving the subproblem
| EQPk : | minimize |
|
| subject to |
|
where
is the objective function
and
is a working set of constraints. In all cases
is a subset of
the set of constraints that are active at
. Typically,
either is equal to
or else has one fewer index than
.
The working set
is updated at each iteration with the aim of determining the set
of active constraints at a solution
. When
is equal to
, a local minimizer of the original problem can be obtained as a solution of the equality-constrained subproblem EQPk . The updating of
depends on the solution of the direction-finding subproblem.
Subproblem EQPk has a solution if the reduced Hessian matrix
is positive definite. This is always the case if
is positive definite. If subproblem EQPk has a solution
, we compute the largest possible step
that does not violate any constraints, and we set
, where
.
The step
would take us to the minimizer of the objective function on the subspace defined by the current working set, but it may be necessary to truncate this step if a new constraint is encountered. The working set is updated by including in
all constraints active at
.
If the solution to subproblem EQPk is
, then
is the minimizer of the objective function on the subspace defined by
. First-order optimality conditions for subproblem EQPk imply that there are multipliers
such that
.
If
for
, then xk is a local minimizer of problem QP. Otherwise, we obtain
by deleting one of the indices
for which
. As in the case of linear programming, various pricing schemes for making this choice can be implemented.
If the reduced Hessian matrix
is indefinite, then subproblem EQPk is unbounded below. In this case we need to determine a direction
such that
is unbounded below, using techniques based on factorizations of the reduced Hessian matrix. Given
, we compute
as before, and define
.
The new working set
is obtained by adding to
all constraints active at
.
A key to the efficient implementation of active set methods is the reuse of information from solving the equality-constrained subproblem at the next iteration. The only difference between consecutive subproblems is that the working set grows or shrinks by a single component. Efficient codes perform updates of the matrix factorizations obtained at the previous iteration, rather than calculating them from scratch each time.
The LSSOL package (duplicated in NAG C Library) is specifically designed for convex quadratic programs and linearly constrained linear least squares problems. It is not aimed at large-scale problems; the constraint matrices and the Hessian
are all specified in dense storage format. The quadratic programming routine in IMSL contains codes for dense quadratic programs. If the matrix
is not positive definite, it is replaced by
-
,
where
is chosen large enough to force convexity.
BQPD uses a null-space method to solve quadratic programs that are not necessarily convex. The linear algebra operations are performed in a modular way; the user is allowed to choose between sparse and dense matrix algebra. The reduced Hessian matrix is, however, processed as a dense matrix, even when sparse techniques are used to handle
and the constraints. The code is efficient for large-scale problems when the size of the working set is close to
. LINDO also takes account of sparsity, while MATLAB, and QPOPT (also available in the NAG C Library library) are designed for dense quadratic programs that are not necessarily convex. QPA uses a full-space approach together with a Schur-complement update to account for changes in the working set; the code is thus appropriate in the sparse case, and is designed to handle non-convex problems.
Path-following methods
Path-following (or as they are sometimes known, trajectory-following, barrier or interior point) methods offer a good alternative to the earlier active-set methods. The packages
COPL,
CPLEX,
CQP,
CVXOPT,
Gurobi,
HOPDM,
LOQO,
MOSEK,
QPB,
RegQP
and
Xpress
are all based on path-following ideas. Although path-following methods may be applied to the general problem QP, it is easier to describe them for problems of the form
QP2: minimize
subject to
and
,
for which first-order optimality conditions are that
and
for
,
for optimal primal variables
, Lagrange multipliers
,
and dual variables
.
In their simplest form, interior-point methods trace the central path that is defined as the solution
to the parametric nonlinear system
and
for
with
as the scalar t decreases to 0. Notice that all points on the central path are primal and dual feasible, and that complementary slackness is achieved in the limit as t approaches 0. A disadvantage of this simple idea is that a point
must be available for some t0 > 0, but such a point may be found as a first-order critical point of the logarithmic-barrier function
within the region
; indeed, early path-following methods were based on a sequential minimization of the logarithmic barrier function.
Notwithstanding, to cope with this potential deficiency, "infeasible" interior point methods start from any
for which
and follow instead the trajectory
that satisfies the homotopy
,
, and
for
as t decreases from 1 to 0. The scalar function
may be any increasing function for which
and
. The simplest choice
is popular, but there are theoretical advantages in using
since then the unknown trajectory
is analytic for convex problems at t = 0.
In practice, it is sometimes advantageous for numerical reasons to aim for a small value of the complementarity instead of zero, and in this case the complementary slackness part of the homotopy may be replaced by
for
and some small centering parameter
.
Notice that all of these homotopies define their trajectories
implicitly; all that is known is the starting point
. Many path-following methods replace the true but unknown
by a Taylor series
approximation
evaluated about
, and trace this approximation instead. Clearly, as
is simply an approximation, it will most likely diverge from
as
t decreases from 1 towards 0. To cope with this, sophisticated safeguarding rules are used to decide how far t may decrease while giving an adequate approximation, and if
is this best value,
is replaced by
and the process repeated. The resulting iteration defines a typical path-following method.
The centering parameter is sometimes computed after a initial predictor step (a first-order Taylor approximation with σ = 0) is used to compute an estimate of the solution. Once σ > 0 is known, the Taylor approximation to the revised homotopy gives the corrector step.
The Taylor series coefficients are found by repeated differentiation of the homotopy equations with respect to t,
and the kth order coefficients (x(k),y(k),z(k)) may be obtained by solving the linear system
where
and
are the diagonal matrices whose diagonal entries are
and
respectively, and the right-hand side r(k) depends on the values of previously-calculated lower-order coefficients.
Since the coefficient matrix is the same for each order of coefficients, a single factorization enables us to find increasingly accurate Taylor approximations at a gradually increasing but reasonable cost. Block elimination of the system results in the
smaller, symmetric system
and this is usually exploited in practice; the variables z(k) may be recovered as
. Some algorithms seek to avoid possible numerical difficulties by regularizing these
defining systems. For example, the coefficient matrix above is replaced by
where Dp and Dd are small, positive-definite diagonal perturbations. Other algorithms, try to avoid these
difficulties by pre-processing the data to remove singularities. Both techniques appear to work well in practice.
If the problem is convex, iterations of the form described can be shown to converge very fast and in a polynomially-bounded number of iterations. For non-convex problems, most methods prefer instead to approximately minimize the logarithmic barrier function for a decreasing sequence of values of t0 using a globally-convergent (linesearch or trust-region) method typically used for linearly-constrained optimization; many of the details - such as the structure of the vital linear systems - are effectively the same as in the convex case.
Linear Least-Squares Problems
Linear least squares problems are special instances of convex quadratic programs that arise frequently in data-fitting applications. The linear least squares problem
LLS: minimize
subject to
for
for
,
where
and
, is a special case of problem QP; we can see this by replacing
by
and
by
in problem QP. In general, it is preferable to solve a least squares problem with a code that takes advantage of the special structure of the least squares problem (for example, LSSOL).
Algorithms for solving linear least squares problems tend to rely on full- or null-space active set methods. For a least squares problem the null-space matrix
can be obtained from the
factorization of
explicit formation of
is avoided, since
is usually less well conditioned than
.
Software
Main article: Quadratic Programming Software
Modeling languages that include QP solvers
Main article: Quadratic Programming Modelling Langauages
References
- A. Altman & J. Gondzio, Regularized symmetric indefinite systems in interior point methods for linear and quadratic optimization. Optimization Methods and Software, 11 (1999) pp. 275-302.
- R. Fletcher, A general quadratic programming algorithm. Journal of the Institute of Mathematics and its Applications, 7 (1971), pp. 76-91.
- M.P. Friedlander & D. Orban, A primal-dual regularized interior-point method for convex quadratic programs. Mathematical Programming Computation 4 (2012), pp. 71-107.
- P.E. Gill, W. Murray, M.A. Saunders & M.H. Wright, Inertia-controlling methods for general quadratic programming. SIAM Review, 33 (1991), pp. 1-36.
- D. Goldfarb & A.U. Idnani (1983), A numerically stable dual method for solving strictly convex quadratic programs. Mathematical Programming, 27 (1983), pp. 1-33.
- N.I.M. Gould & Ph.L. Toint, An iterative working-set method for large-scale non-convex quadratic programming. Applied Numerical Mathematics, 43 (2002), pp. 109-128.
- N.I.M. Gould, D. Orban, A. Sartenaer & Ph.L. Toint, Superlinear convergence of primal-dual interior point algorithms for nonlinear programming. SIAM Journal on Optimization, 11 (2001), pp. 974-1002.
- M.K. Kozlov, S.P. Tarasov & L.G. Khachiyan, Polynomial solvability of convex quadratic programming. Soviet Mathematics Doklady, 20 (1979), pp. 1108-1111
- K.G. Murty & S.N. Kabadi, Some NP-complete problems in quadratic and nonlinear programming. Mathematical Programming, 39 (1987), pp. 117-129.
- F.A. Potra & J. Stoer, On a class of superlinearly convergent polynomial time interior point methods for sufficient LCP. SIAM Journal on Optimization, 20 (2009), pp. 1333-1363.
- J. Stoer &, M. Wechs, Infeasible-interior-point paths for sufficient linear complementarity problems and their analyticity. Mathematical Programming, 83 (1998), pp. 407-423.
- J. Stoer &, M. Wechs On the analyticity properties of infeasible-interior-point paths for monotone linear complementarity problems. Numerische Mathematik, 81 (1999), pp. 631-645.
- R.J. Vanderbei, LOQO: An interior point code for quadratic programming. Optimization Methods and Software, 12 (1999) pp. 451–484.
- S.A. Vavasis, Nonlinear Optimization: Complexity Issues, Oxford University Press, Oxford, England (1991).
- Y. Zhang, On the convergence of a class of infeasible interior-point methods for the horizontal linear complementarity problem. SIAM Journal on Optimization, 4 (1994), pp. 208-227.
- G. Zhao & J. Sun, On the rate of local convergence of high-order-infeasible-path- following algorithms for p * -linear complementarity problems. Computational Optimization and Applications, 14 (1999), pp. 293-307.
See also the somewhat outdated BiBTeX QP bibliography by Nick Gould and Philippe Toint, and a summarising paper
Return to Algorithms or Quadratic Programming Directory
Path-following (or as they are sometimes known, trajectory-following, barrier or interior point) methods offer a good alternative to the earlier active-set methods. The packages COPL, CPLEX, CQP, CVXOPT, Gurobi, HOPDM, LOQO, MOSEK, QPB, RegQP and Xpress are all based on path-following ideas. Although path-following methods may be applied to the general problem QP, it is easier to describe them for problems of the form
| QP2: | minimize |
|
| subject to | and ,
|
for which first-order optimality conditions are that
and
for
,
for optimal primal variables
, Lagrange multipliers
,
and dual variables
.
In their simplest form, interior-point methods trace the central path that is defined as the solution
to the parametric nonlinear system
and
for
with
as the scalar t decreases to 0. Notice that all points on the central path are primal and dual feasible, and that complementary slackness is achieved in the limit as t approaches 0. A disadvantage of this simple idea is that a point
must be available for some t0 > 0, but such a point may be found as a first-order critical point of the logarithmic-barrier function
within the region
; indeed, early path-following methods were based on a sequential minimization of the logarithmic barrier function.
Notwithstanding, to cope with this potential deficiency, "infeasible" interior point methods start from any
for which
and follow instead the trajectory
that satisfies the homotopy
,
, and
for
as t decreases from 1 to 0. The scalar function
may be any increasing function for which
and
. The simplest choice
is popular, but there are theoretical advantages in using
since then the unknown trajectory
is analytic for convex problems at t = 0.
In practice, it is sometimes advantageous for numerical reasons to aim for a small value of the complementarity instead of zero, and in this case the complementary slackness part of the homotopy may be replaced by
for
and some small centering parameter
.
Notice that all of these homotopies define their trajectories
implicitly; all that is known is the starting point
. Many path-following methods replace the true but unknown
by a Taylor series
approximation
evaluated about
, and trace this approximation instead. Clearly, as
is simply an approximation, it will most likely diverge from
as
t decreases from 1 towards 0. To cope with this, sophisticated safeguarding rules are used to decide how far t may decrease while giving an adequate approximation, and if
is this best value,
is replaced by
and the process repeated. The resulting iteration defines a typical path-following method.
The centering parameter is sometimes computed after a initial predictor step (a first-order Taylor approximation with σ = 0) is used to compute an estimate of the solution. Once σ > 0 is known, the Taylor approximation to the revised homotopy gives the corrector step.
The Taylor series coefficients are found by repeated differentiation of the homotopy equations with respect to t, and the kth order coefficients (x(k),y(k),z(k)) may be obtained by solving the linear system
where
and
are the diagonal matrices whose diagonal entries are
and
respectively, and the right-hand side r(k) depends on the values of previously-calculated lower-order coefficients.
Since the coefficient matrix is the same for each order of coefficients, a single factorization enables us to find increasingly accurate Taylor approximations at a gradually increasing but reasonable cost. Block elimination of the system results in the
smaller, symmetric system
and this is usually exploited in practice; the variables z(k) may be recovered as
. Some algorithms seek to avoid possible numerical difficulties by regularizing these
defining systems. For example, the coefficient matrix above is replaced by
where Dp and Dd are small, positive-definite diagonal perturbations. Other algorithms, try to avoid these difficulties by pre-processing the data to remove singularities. Both techniques appear to work well in practice.
If the problem is convex, iterations of the form described can be shown to converge very fast and in a polynomially-bounded number of iterations. For non-convex problems, most methods prefer instead to approximately minimize the logarithmic barrier function for a decreasing sequence of values of t0 using a globally-convergent (linesearch or trust-region) method typically used for linearly-constrained optimization; many of the details - such as the structure of the vital linear systems - are effectively the same as in the convex case.
Linear Least-Squares Problems
Linear least squares problems are special instances of convex quadratic programs that arise frequently in data-fitting applications. The linear least squares problem
LLS: minimize
subject to
for
for
,
where
and
, is a special case of problem QP; we can see this by replacing
by
and
by
in problem QP. In general, it is preferable to solve a least squares problem with a code that takes advantage of the special structure of the least squares problem (for example, LSSOL).
Algorithms for solving linear least squares problems tend to rely on full- or null-space active set methods. For a least squares problem the null-space matrix
can be obtained from the
factorization of
explicit formation of
is avoided, since
is usually less well conditioned than
.
Software
Main article: Quadratic Programming Software
Modeling languages that include QP solvers
Main article: Quadratic Programming Modelling Langauages
References
- A. Altman & J. Gondzio, Regularized symmetric indefinite systems in interior point methods for linear and quadratic optimization. Optimization Methods and Software, 11 (1999) pp. 275-302.
- R. Fletcher, A general quadratic programming algorithm. Journal of the Institute of Mathematics and its Applications, 7 (1971), pp. 76-91.
- M.P. Friedlander & D. Orban, A primal-dual regularized interior-point method for convex quadratic programs. Mathematical Programming Computation 4 (2012), pp. 71-107.
- P.E. Gill, W. Murray, M.A. Saunders & M.H. Wright, Inertia-controlling methods for general quadratic programming. SIAM Review, 33 (1991), pp. 1-36.
- D. Goldfarb & A.U. Idnani (1983), A numerically stable dual method for solving strictly convex quadratic programs. Mathematical Programming, 27 (1983), pp. 1-33.
- N.I.M. Gould & Ph.L. Toint, An iterative working-set method for large-scale non-convex quadratic programming. Applied Numerical Mathematics, 43 (2002), pp. 109-128.
- N.I.M. Gould, D. Orban, A. Sartenaer & Ph.L. Toint, Superlinear convergence of primal-dual interior point algorithms for nonlinear programming. SIAM Journal on Optimization, 11 (2001), pp. 974-1002.
- M.K. Kozlov, S.P. Tarasov & L.G. Khachiyan, Polynomial solvability of convex quadratic programming. Soviet Mathematics Doklady, 20 (1979), pp. 1108-1111
- K.G. Murty & S.N. Kabadi, Some NP-complete problems in quadratic and nonlinear programming. Mathematical Programming, 39 (1987), pp. 117-129.
- F.A. Potra & J. Stoer, On a class of superlinearly convergent polynomial time interior point methods for sufficient LCP. SIAM Journal on Optimization, 20 (2009), pp. 1333-1363.
- J. Stoer &, M. Wechs, Infeasible-interior-point paths for sufficient linear complementarity problems and their analyticity. Mathematical Programming, 83 (1998), pp. 407-423.
- J. Stoer &, M. Wechs On the analyticity properties of infeasible-interior-point paths for monotone linear complementarity problems. Numerische Mathematik, 81 (1999), pp. 631-645.
- R.J. Vanderbei, LOQO: An interior point code for quadratic programming. Optimization Methods and Software, 12 (1999) pp. 451–484.
- S.A. Vavasis, Nonlinear Optimization: Complexity Issues, Oxford University Press, Oxford, England (1991).
- Y. Zhang, On the convergence of a class of infeasible interior-point methods for the horizontal linear complementarity problem. SIAM Journal on Optimization, 4 (1994), pp. 208-227.
- G. Zhao & J. Sun, On the rate of local convergence of high-order-infeasible-path- following algorithms for p * -linear complementarity problems. Computational Optimization and Applications, 14 (1999), pp. 293-307.
See also the somewhat outdated BiBTeX QP bibliography by Nick Gould and Philippe Toint, and a summarising paper
Return to Algorithms or Quadratic Programming Directory
Linear least squares problems are special instances of convex quadratic programs that arise frequently in data-fitting applications. The linear least squares problem
| LLS: | minimize | | |
| subject to | | for
| |
| for ,
|
where
and
, is a special case of problem QP; we can see this by replacing
by
and
by
in problem QP. In general, it is preferable to solve a least squares problem with a code that takes advantage of the special structure of the least squares problem (for example, LSSOL).
Algorithms for solving linear least squares problems tend to rely on full- or null-space active set methods. For a least squares problem the null-space matrix
can be obtained from the
factorization of
explicit formation of
is avoided, since
is usually less well conditioned than
.
Software
Main article: Quadratic Programming Software
Modeling languages that include QP solvers
Main article: Quadratic Programming Modelling Langauages
References
- A. Altman & J. Gondzio, Regularized symmetric indefinite systems in interior point methods for linear and quadratic optimization. Optimization Methods and Software, 11 (1999) pp. 275-302.
- R. Fletcher, A general quadratic programming algorithm. Journal of the Institute of Mathematics and its Applications, 7 (1971), pp. 76-91.
- M.P. Friedlander & D. Orban, A primal-dual regularized interior-point method for convex quadratic programs. Mathematical Programming Computation 4 (2012), pp. 71-107.
- P.E. Gill, W. Murray, M.A. Saunders & M.H. Wright, Inertia-controlling methods for general quadratic programming. SIAM Review, 33 (1991), pp. 1-36.
- D. Goldfarb & A.U. Idnani (1983), A numerically stable dual method for solving strictly convex quadratic programs. Mathematical Programming, 27 (1983), pp. 1-33.
- N.I.M. Gould & Ph.L. Toint, An iterative working-set method for large-scale non-convex quadratic programming. Applied Numerical Mathematics, 43 (2002), pp. 109-128.
- N.I.M. Gould, D. Orban, A. Sartenaer & Ph.L. Toint, Superlinear convergence of primal-dual interior point algorithms for nonlinear programming. SIAM Journal on Optimization, 11 (2001), pp. 974-1002.
- M.K. Kozlov, S.P. Tarasov & L.G. Khachiyan, Polynomial solvability of convex quadratic programming. Soviet Mathematics Doklady, 20 (1979), pp. 1108-1111
- K.G. Murty & S.N. Kabadi, Some NP-complete problems in quadratic and nonlinear programming. Mathematical Programming, 39 (1987), pp. 117-129.
- F.A. Potra & J. Stoer, On a class of superlinearly convergent polynomial time interior point methods for sufficient LCP. SIAM Journal on Optimization, 20 (2009), pp. 1333-1363.
- J. Stoer &, M. Wechs, Infeasible-interior-point paths for sufficient linear complementarity problems and their analyticity. Mathematical Programming, 83 (1998), pp. 407-423.
- J. Stoer &, M. Wechs On the analyticity properties of infeasible-interior-point paths for monotone linear complementarity problems. Numerische Mathematik, 81 (1999), pp. 631-645.
- R.J. Vanderbei, LOQO: An interior point code for quadratic programming. Optimization Methods and Software, 12 (1999) pp. 451–484.
- S.A. Vavasis, Nonlinear Optimization: Complexity Issues, Oxford University Press, Oxford, England (1991).
- Y. Zhang, On the convergence of a class of infeasible interior-point methods for the horizontal linear complementarity problem. SIAM Journal on Optimization, 4 (1994), pp. 208-227.
- G. Zhao & J. Sun, On the rate of local convergence of high-order-infeasible-path- following algorithms for p * -linear complementarity problems. Computational Optimization and Applications, 14 (1999), pp. 293-307.
See also the somewhat outdated BiBTeX QP bibliography by Nick Gould and Philippe Toint, and a summarising paper
Return to Algorithms or Quadratic Programming Directory
for
, and
for
