Skip to content

Releases: stephane-caron/lpsolvers

lpsolvers v2.0.0

09 Jan 16:24
b34cdb8
Compare
Choose a tag to compare

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

23 Oct 13:36
601bcfa
Compare
Choose a tag to compare

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

17 Mar 18:47
f4cca84
Compare
Choose a tag to compare

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

16 Mar 07:57
178f328
Compare
Choose a tag to compare

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

07 Mar 16:14
2147b13
Compare
Choose a tag to compare

This version adds documentation, CI and unit tests to make the project more robust to future changes (e.g. adding new solvers).

Added

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 to pyproject.toml