Unified python wrappers for popular ILP solvers
ilpy is a Python library that provides unified wrappers for popular Integer Linear Programming (ILP) solvers such as Gurobi and SCIP. It offers a consistent API that abstracts away the differences between solver implementations.
With ilpy, you can:
- Define linear and quadratic optimization problems using a simple, intuitive syntax
- Express constraints using natural Python expressions
- Switch between different solver backends (currently Gurobi and SCIP)
- Monitor solver progress through callback events
- Support for continuous, binary, and integer variables
Install from pip with:
pip install ilpyNote that ilpy requires a solver backend: either pyscipopt (for SCIP) or gurobipy (for Gurobi).
Currently, ilpy ships by default with support for the SCIP optimization suite, via pyscipopt, but you may also declare it explicitly:
pip install ilpy[scip]If you want to use Gurobi (which requires a license), you can bring
in the gurobipy dependency with:
pip install ilpy[gurobi]If you prefer to use conda:
conda install -c conda-forge ilpy pyscipoptconda install -c conda-forge -c gurobi ilpy gurobipip install -e .[dev]
pytest