OR Libraries for Python

1 minute read

img

Some useful (and maintained) libraries for doing Operations Research in Python.

Google OR-Tools

GitHub stars Downloads

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

GitHub stars Downloads

Z3 is an efficient SMT solver with specialized algorithms for solving background theories.

BayesianOptimization

GitHub stars Downloads

Pure Python implementation of bayesian global optimization with gaussian processes.

DEAP

GitHub stars Downloads

DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas.

CVXPY

GitHub stars Downloads

CVXPY is a Python-embedded modeling language for convex optimization problems.

skopt

GitHub stars Downloads

Simple and efficient library to minimize (very) expensive and noisy black-box functions. It implements several methods for sequential model-based optimization.

PuLP

GitHub stars Downloads

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

GitHub stars Downloads

Pyomo is a Python-based, open-source optimization modeling language.

PySwarms

GitHub stars Downloads

PySwarms is an extensible research toolkit for particle swarm optimization (PSO) in Python.

Hyperparameter optimization

Simulation

  • simpy: event simulation Downloads
  • PyMC3: Bayesian statistical modeling and Probabilistic ML Downloads

Other

  • pandas, numpy: data processing
  • SciPy: includes modules for statistics, optimization and more.
  • networkx: graph and network algorithms
  • osmnx: spatial data
  • 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