Releases: stephane-caron/lpsolvers
Releases · stephane-caron/lpsolvers
lpsolvers v2.0.0
This release adds an interface for PDLP, a solver available from Google OR-Tools that applies the Chambolle-Pock method to a saddle-point formulation of LP. Here is some code to try it out:
from numpy import array
from lpsolvers import solve_lp
c = array([1., 2., 3.])
G = array([[1., 2., -1.], [2., 0., 1.], [1., 2., 1.], [-1., -1., -1.]])
h = array([4., 1., 3., 2.])
x = solve_lp(c, G, h, solver="pdlp")
print(f"LP solution: {x=}")
Added
- PDLP solver interface
Changed
- Rename optional deps for open source solvers
Removed
- ProxQP: Unused
initvals
argument in interface - Remove top-level
__init__.py
v1.2.0
This release adds an LP interface to ProxQP, an augmented-Lagrangian QP solver that can handle nonconvex QPs and thus LPs. Here is how to try it out:
from numpy import array
from lpsolvers import solve_lp
c = array([1., 2., 3.])
G = array([[1., 2., -1.], [2., 0., 1.], [1., 2., 1.], [-1., -1., -1.]])
h = array([4., 1., 3., 2.])
x = solve_lp(c, G, h, solver="proxqp")
print(f"LP solution: {x=}")
Added
- Continuous integration: ruff
- ProxQP (LP variant) solver interface
Changed
- Bumped pycddlib dependency to 2.1.7
- The
solver
keyword argument is now mandatory
v1.1.0
The big change with this release is the change of license to LGPL-3.0 from GPL-3.0 (which was the case because cdd was previously a required dependency).
Added
- Links and keywords to project description for PyPI
Changed
- Relicense the project to LPGL-3.0
Fixed
- Add CVXPY to test environment
- Add license to project config
v1.0.0
This release adds the CVXPY solver interface, which can be used in place of CVXOPT or cdd.
Added
- CVXPY solver interface
- Type annotations
Fixed
- Remove dependency on quadprog
v0.9.0
This version adds documentation, CI and unit tests to make the project more robust to future changes (e.g. adding new solvers).
Added
- Documentation
- GitHub CI actions
- Unit tests
Changed
- Function now raises
SolverNotFound
when the solver is not available - Improve code coverage to 84%
- Improve linter code rating to 10/10
- Switch from
setup.py
topyproject.toml