Quadratic programming

From DDWiki

Revision as of 22:56, 22 September 2007 by NormanShiau (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


Quadratic programming (QP) is a specific mathematical programming problem. The general QP form can be expressed as:

Minimize

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

with respect to x subject to

 \mathbf{g(x) = Ax -b } \le \mathbf{0}
 \mathbf{x>0}

where Q is matrix is a symmetric matrix and c is a vector comprising of coefficients to describe the linear terms in the f(x). Matrix A represents the coefficients of inequality constraint and b is the constant vector on the right hand side.

When f(x) is strictly convex for all feasible points, the local optimal solution is also the global optimum. When the optimum is the minimum point, positive definite of Q matrix provides the sufficient condition of the optimal solution. Further, when Q=0, the problem simply becomes a linear programming problem.

QP in Lagrangian form

To solve the QP problem, the function needs to be formulated into Lagrangian form:

L(\mathbf{x}) = \frac{1}{2} \mathbf{x}^T Q\mathbf{x} + \mathbf{c}^T \mathbf{x} + \mathbf{\mu (Ax-b)}

where µ is Lagrangian multiplier. The Karush-Kuhn-Tucker (KKT) conditions for a local minimum are given by:

\mathbf{\nabla_x} L=0 \Rightarrow \mathbf{Q}^T+\mathbf{c}+\mathbf{\mu A} = 0
\mathbf{\nabla_\mu} L=0 \Rightarrow \mathbf{Ax - b} \le \mathbf{0}
 \mathbf{\mu g(x)=0} \Rightarrow \mathbf{\mu(Ax - b)=0}
 \mathbf{\mu>0}
 \mathbf{x>0}

Reference

  • Singiresu S. Rao, 1996, Engineering Optimization: Theory and Practice, 3rd Ed., Wiley-Interscience.