Lpsolvers

Latest version: v2.0.0

Safety actively analyzes 623965 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

2.0.0

This release adds an interface for [PDLP](https://developers.google.com/optimization/lp/pdlp_math), 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:

python
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``

1.2.0

This release adds an LP interface to [ProxQP](https://github.com/Simple-Robotics/proxsuite), an augmented-Lagrangian QP solver that can handle nonconvex QPs and thus LPs. Here is how to try it out:

python
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

1.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

1.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

0.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](https://scaron.info/doc/lpsolvers/)
- GitHub [CI actions](https://github.com/stephane-caron/lpsolvers/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`` to ``pyproject.toml``

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.