π OR Libraries for Python
Some useful (and maintained) libraries for doing Operations Research in Python.
Google OR-Tools
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
Z3
Z3 is an efficient SMT solver with specialized algorithms for solving background theories.
BayesianOptimization
Pure Python implementation of bayesian global optimization with gaussian processes.
DEAP
DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas.
CVXPY
CVXPY is a Python-embedded modeling language for convex optimization problems.
skopt
Simple and efficient library to minimize (very) expensive and noisy black-box functions. It implements several methods for sequential model-based optimization.
PuLP
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.
Pyomo
Pyomo is a Python-based, open-source optimization modeling language.
PySwarms
PySwarms is an extensible research toolkit for particle swarm optimization (PSO) in Python.
Hyperparameter optimization
Simulation
Other
- pandas, numpy: data processing
- SciPy: includes modules for statistics, optimization and more.
- networkx: graph and network algorithms
- osmnx: spatial data
Related Links
- https://or.stackexchange.com/questions/3952/are-python-and-julia-used-for-optimization-in-industry/
- https://or.stackexchange.com/questions/5485/python-for-or-which-non-solver-libraries-do-you-use
- https://or.stackexchange.com/questions/1504/what-is-the-purpose-of-libraries-like-pyomo-and-google-or-tools
- https://www.reddit.com/r/datascience/comments/cpyer5/bayesian_optimization_libraries_python/
Comments