Quadratic Programming solvers for Python with a unified API

## Project description

This module provides a single function solve_qp(P, q, G, h, A, b, lb, ub, solver=X) with a solver keyword argument to select the backend solver. The quadratic program it solves is, in standard form: where vector inequalities are taken coordinate by coordinate.

## Solvers

The list of supported solvers currently includes:

• Dense solvers:
• Sparse solvers:

## Example

To solve a quadratic program, simply build the matrices that define it and call the solve_qp function:

```from numpy import array, dot
from qpsolvers import solve_qp

M = array([[1., 2., 0.], [-8., 3., 2.], [0., 1., 1.]])
P = dot(M.T, M)  # quick way to build a symmetric matrix
q = dot(array([3., 2., 3.]), M).reshape((3,))
G = array([[1., 2., 1.], [2., 0., 1.], [-1., 2., -1.]])
h = array([3., 2., -2.]).reshape((3,))
A = array([1., 1., 1.])
b = array([1.])

print "QP solution:", solve_qp(P, q, G, h, A, b)
```

This example outputs the solution [0.30769231, -0.69230769,  1.38461538].

## Project details

This version 1.3 1.2.1 1.2 1.1.2 1.1.1 1.1 1.0.7 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1