Some useful (and maintained) libraries for doing Operations Research in Python.
OR-Tools is an open source software suite for optimization, tuned for tackling the world’s toughest problems in vehicle routing, flows, integer and linear programming, and constraint programming.
- Routing library on top of CP.
- CP-SAT Solver (Lazy Clause Generation combining SAT, CP, MIP and LNS)
- GLOP (simplex solver)
- BOP (boolean linear solver)
- Interface for third party solvers: CoinOR, SCIP, CPLEX, Gurobi, XPress
CVXPY is a Python-embedded modeling language for convex optimization problems.
Pyomo is a Python-based, open-source optimization modeling language.
PuLP is an LP modeler written in Python. PuLP can generate MPS or LP files and call GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, SCIP to solve linear problems.
DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas.
PySwarms is an extensible research toolkit for particle swarm optimization (PSO) in Python.
Simple and efficient library to minimize (very) expensive and noisy black-box functions. It implements several methods for sequential model-based optimization.
Pure Python implementation of bayesian global optimization with gaussian processes.
- pandas, numpy: data processing
- SciPy: includes modules for statistics, optimization and more.
- networkx: graph and network algorithms
- osmnx: spatial data