In mathematical optimization, a quadratically constrained quadratic program (QCQP) is an optimization problem in which both the objective function and the constraints are quadratic functions. It has the form
where P<sub>0</sub>, ..., P<sub>m</sub> are n-by-n matrices and x ∈ R<sup>n</sup> is the optimization variable.
If P<sub>0</sub>, ..., P<sub>m</sub> are all positive semidefinite, then the problem is convex. If these matrices are neither positive nor negative semidefinite, the problem is non-convex. If P<sub>1</sub>, ... ,P<sub>m</sub> are all zero, then the constraints are in fact linear and the problem is a quadratic program.
A convex QCQP problem can be efficiently solved using an interior point method (in a polynomial time), typically requiring around 30-60 iterations to converge. Solving the general non-convex case is an NP-hard problem.
To see this, note that the two constraints x<sub>1</sub>(x<sub>1</sub> â 1) ≤ 0 and x<sub>1</sub>(x<sub>1</sub> â 1) ≥ 0 are equivalent to the constraint x<sub>1</sub>(x<sub>1</sub> â 1) = 0, which is in turn equivalent to the constraint x<sub>1</sub> ∈ {0, 1}. Hence, any 0âÂÂ1 integer program (in which all variables have to be either 0 or 1) can be formulated as a quadratically constrained quadratic program. Since 0âÂÂ1 integer programming is NP-hard in general, QCQP is also NP-hard.
However, even for a nonconvex QCQP problem a local solution can generally be found with a nonconvex variant of the interior point method. In some cases (such as when solving nonlinear programming problems with a sequential QCQP approach) these local solutions are sufficiently good to be accepted.
There are two main relaxations of QCQP: using semidefinite programming (SDP), and using the reformulation-linearization technique (RLT). For some classes of QCQP problems (precisely, QCQPs with zero diagonal elements in the data matrices), second-order cone programming (SOCP) and linear programming (LP) relaxations providing the same objective value as the SDP relaxation are available.
Nonconvex QCQPs with non-positive off-diagonal elements can be exactly solved by the SDP or SOCP relaxations, and there are polynomial-time-checkable sufficient conditions for SDP relaxations of general QCQPs to be exact. Moreover, it was shown that a class of random general QCQPs has exact semidefinite relaxations with high probability as long as the number of constraints grows no faster than a fixed polynomial in the number of variables.
When P<sub>0</sub>, ..., P<sub>m</sub> are all positive-definite matrices, the problem is convex and can be readily solved using interior point methods, as done with semidefinite programming.