Quadratic Programs¶
The following routines attempt to solve primal-dual pairs of (convex) quadratic programs in either “direct” conic form,
\[\begin{split}\min_x & \{\; \frac{1}{2} x^T Q x + c^T x \; | \; A x = b \;\wedge\; x \ge 0 \;\}, \\
\max_{y,z} & \{\; -\frac{1}{2} r^T Q^\dagger r - b^T y \; | \; r = A^T y - z + c \in \text{range}(Q) \;\wedge\; z \ge 0 \;\},\end{split}\]
or “affine” conic form
\[\begin{split}\min_{x,s} & \{\; \frac{1}{2} x^T Q x + c^T x \; | \; A x = b \;\wedge\; G x + s = h,\; s \ge 0 \;\}, \\
\max_{y,z} & \{\; -\frac{1}{2} r^T Q^\dagger r - b^T y - h^T z \; | \; r = A^T y + G^T z + c \in \text{range}(Q) \;\wedge\; z \ge 0 \;\}.\end{split}\]
By default a Mehrotra Predictor-Corrector primal-dual Interior Point Method is used.
Unpolished alternating direction methods for solving the box-constrained QP
\[\min_x \{\; \frac{1}{2} x^T Q x + c^T x \; | \; l_b \le x \le u_b \;\}\]
are also available.