Quadratic programming

This is an old revision of this page, as edited by 202.68.145.230 (talk) at 07:01, 17 March 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Quadratic programming (QP) is a special type of mathematical optimization problem.

The quadratic programming problem can be formulated like this:

Assume x belongs to space. The n×n matrix Q is symmetric, and c is any n×1 vector.

Minimize (with respect to x)

(Here indicates the matrix transpose of v.)

A quadratic programming problem has at least one of the following kinds of constraints:

  1. Axb (inequality constraint)
  2. Ex = d (equality constraint)

If Q is positive definite, then f(x) is a convex function and constraints are linear functions. We have from optimization theory that for point x to be an optimum point it is necessary and sufficient that x is a Karush-Kuhn-Tucker (KKT) point.

If there are only equality constraints, then the QP can be solved by a linear system. Otherwise, the most common method of solving a QP is an interior point method, such as LOQO. Active set methods are also commonly used.

Complexity

For positive-definite Q, the ellipsoid algorithm solves the problem in polynomial time. If Q has at least one negative eigenvalue, the problem is NP-hard.

References

  • Michael R. Garey and David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. ISBN 0716710455. A6: MP2, pg.245.
  • Jorge Nocedal and Stephen J. Wright (1999). Numerical Optimization. Springer. ISBN 0387987932. , pg.441.
  • Quadratic programming with one negative eigenvalue is NP-hard, Panos M. Pardalos and Stephen A. Vavasis in Journal of Global Optimization, Volume 1, Number 1, 1991, pg.15-22.
Software