Quadratically constrained quadratic program

Source: Wikipedia, the free encyclopedia.

In

objective function and the constraints are quadratic functions
. It has the form

where P0, ..., Pm are n-by-n matrices and xRn is the optimization variable.

If P0, ..., Pm are all

quadratic program
.

Hardness

Solving the general case is an

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.

Relaxation

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.[1]

Nonconvex QCQPs with non-positive off-diagonal elements can be exactly solved by the SDP or SOCP relaxations,[2] and there are polynomial-time-checkable sufficient conditions for SDP relaxations of general QCQPs to be exact.[3] 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.[3]

Semidefinite programming

When P0, ..., Pm are all

interior point methods, as done with semidefinite programming
.

Example

  • Max Cut is a problem in graph theory, which is NP-hard. Given a graph, the problem is to divide the vertices in two sets, so that as many edges as possible go from one set to the other. Max Cut can be formulated as a QCQP, and SDP relaxation of the dual provides good lower bounds.
  • QCQP is used to finely tune machine setting in high-precision applications such as photolithography.

Solvers and scripting (programming) languages

Name Brief info
Artelys Knitro Knitro is a solver specialized in nonlinear optimization, but also solves linear programming problems, quadratic programming problems, second-order cone programming, systems of nonlinear equations, and problems with equilibrium constraints.
FICO Xpress A commercial optimization solver for linear programming, non-linear programming, mixed integer linear programming, convex quadratic programming, convex quadratically constrained quadratic programming, second-order cone programming and their mixed integer counterparts.
AMPL
CPLEX Popular solver with an API for several programming languages. Free for academics.
MOSEK A solver for large scale optimization with API for several languages (C++,java,.net, Matlab and python)
TOMLAB Supports global optimization, integer programming, all types of least squares, linear, quadratic and unconstrained programming for
KNITRO
.
Wolfram Mathematica Able to solve QCQP type of problems using functions like Minimize.

References

Further reading

In statistics

External links