Carl's Simple Integer Programming Solver.
A pure-python integer programming solver using branch-and-bound with scipy's linprog
for subproblem LP relaxation.
- Integer linear programming problems
- Embedded python DSL: no need to specify standard form
- Pure python: only python dependencies, no need to install other solvers
CSIPS does not support
- Non-integer variables (real-valued)
- Non-linear constraints (quadratic or otherwise)
- Input/output formats compatible with other solvers.
BEWARE! This was written purely as an educational exercise.
Add csips as a submodule for now, then use like from csips import csips
.
You may be able to aim your package manager at this git repo and use it that way as well.
Then you should only ened import csips
...
...
poetry run pytest
- Install poetry.
- Use poetry to install project dependencies.
- Make sure vscode python interpreter is the poetry venv one.
This project is available under the terms of GPL 3.0. Please see LICENSE for details.