Optimization with PuLP

Warning

CBC is not bundled with PuLP. Install PuLP with CBC support using python -m pip install pulp[cbc], or install a cbc / cbc.exe binary and add it to your PATH. PuLP uses the COIN_CMD interface to run CBC; there is no longer a separate PULP_CBC_CMD solver. See Installing PuLP at Home.

PuLP is an linear and mixed integer programming modeler written in Python.

With PuLP, it is simple to create MILP optimisation problems and solve them with the latest open-source (or proprietary) solvers. PuLP can generate MPS or LP files and call solvers such as GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, HiGHS, SCIP/FSCIP.

Here are some ways to get started using PuLP:

The full PuLP API documentation is available, and useful functions are also explained in the case studies. The case studies are in order, so the later case studies will assume you have (at least) read the earlier case studies. However, we will provide links to any relevant information you will need.

Authors

The authors of this documentation (the pulp documentation team) include: