Unsupported solvers#

Unsupported solvers will be made available if they are detected on your system, but their performance is not guaranteed as they are not part of continuous integration (typically because they are not open source).

NPPro#

Solver interface for NPPro.

The NPPro solver implements an enhanced Newton Projection with Proportioning method for strictly convex quadratic programming. Currently, it is designed for dense problems only.

qpsolvers.unsupported.nppro_.nppro_solve_problem(problem, initvals=None, **kwargs)#

Solve a quadratic program using NPPro.

Parameters:
  • problem (Problem) – Quadratic program to solve.

  • initvals (Optional[ndarray]) – Warm-start guess vector.

Return type:

Solution

Returns:

Solution returned by the solver.

Notes

All other keyword arguments are forwarded as options to NPPro. For instance, you can call nppro_solve_qp(P, q, G, h, MaxIter=15). For a quick overview, the solver accepts the following settings:

Name

Effect

MaxIter

Maximum number of iterations.

SkipPreprocessing

Skip preprocessing phase or not.

SkipPhaseOne

Skip feasible starting point finding or not.

InfVal

Values are assumed to be infinite above this threshold.

HessianUpdates

Enable Hessian updates or not.

qpsolvers.unsupported.nppro_.nppro_solve_qp(P, q, G=None, h=None, A=None, b=None, lb=None, ub=None, initvals=None, **kwargs)#

Solve a quadratic program using NPPro.

The quadratic program is defined as:

\[\begin{split}\begin{split}\begin{array}{ll} \underset{x}{\mbox{minimize}} & \frac{1}{2} x^T P x + q^T x \\ \mbox{subject to} & G x \leq h \\ & A x = b \\ & lb \leq x \leq ub \end{array}\end{split}\end{split}\]

It is solved using NPPro.

Parameters:
  • P (ndarray) – Positive definite cost matrix.

  • q (ndarray) – Cost vector.

  • G (Optional[ndarray]) – Linear inequality constraint matrix.

  • h (Optional[ndarray]) – Linear inequality constraint vector.

  • A (Optional[ndarray]) – Linear equality constraint matrix.

  • b (Optional[ndarray]) – Linear equality constraint vector.

  • lb (Optional[ndarray]) – Lower bound constraint vector.

  • ub (Optional[ndarray]) – Upper bound constraint vector.

  • initvals (Optional[ndarray]) – Warm-start guess vector.

Return type:

Optional[ndarray]

Returns:

Solution to the QP, if found, otherwise None.

Notes

See the Notes section in nppro_solve_problem().