Quadratic programming

From Wikipedia, the free encyclopedia

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

The quadratic programming problem can be formulated as:

Assume x belongs to \mathbb{R}^{n} space. The n×n matrix Q is symmetric, and c is any n×1 vector.

Minimize (with respect to x)

f(\mathbf{x}) = \frac{1}{2} \mathbf{x}' Q\mathbf{x} + \mathbf{c}' \mathbf{x}

Subject to one or more constraints of the form:

Ax \preceq b (inequality constraint)
Ex = d (equality constraint)

where \mathbf{v}' indicates the vector transpose of \mathbf{v}.

If Q is a positive semidefinite matrix, then f(x) is a convex function. In this case the quadratic program has a global minimizer if there exists at least one vector 'x' satisfying the constraints and f(x) is bounded below on the feasible region. If the matrix Q is positive definite then this global minimizer is unique. If Q is zero, then the problem becomes a linear program. From optimization theory, a necessary condition for a point x to be a global minimizer is for it to satisfy the Karush-Kuhn-Tucker (KKT) conditions. The KKT conditions are also sufficient when f(x) is convex.

If there are only equality constraints, then the QP can be solved by a linear system. Otherwise, a variety of methods for solving the QP are commonly used, including interior point, active set and conjugate gradient methods.

Convex quadratic programming is a special case of the more general field of convex optimization.

Contents

The dual of a QP is also a QP. To see that lets focuse on the case where c = 0 and Q is PSD. We write the Lagrangian

L(x,λ) = xTQx + λT(Axb)

To calculate the dual function g(λ), defined as g(\lambda) = \inf_x L(x,\lambda) we find the infimum of L, using \nabla_x L(x,\lambda)=0:

x * = − (1 / 2)P − 1ATλ, hence the dual function is
g(λ) = − (1 / 4)λTAP − 1ATλ − bTλ

hence the dual of the QP is

maximize : − (1 / 4)λTAP − 1ATλ − bTλ

subject to :\lambda \succeq 0


For positive definite Q, the ellipsoid method solves the problem in polynomial time.[1] If, on the other hand, Q is negative definite, then the problem is NP-hard.[2] In fact, even if Q has only one negative eigenvalue, the problem is NP-hard.[3]

  1. ^ Kozlov, M.K.; Tarasov, S.P.; Khachiyan, L.G. "Polynomial solvability of convex quadratic programming," in Sov. Math., Dokl. 20, 1108-1111 (1979). This is a translation from Dokl. Akad. Nauk SSSR 248, 1049-1051 (1979). ISSN: 0197-6788
  2. ^ Sahni, S. "Computationally related problems," in SIAM Journal on Computing, 3, 262--279, 1974.
  3. ^ 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 packages that include QP solvers
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.