1 minute read


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


GitHub stars Downloads

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


GitHub stars Downloads

Pure Python implementation of bayesian global optimization with gaussian processes.


GitHub stars Downloads

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


GitHub stars Downloads

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


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.


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.


GitHub stars Downloads

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


GitHub stars Downloads

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

Hyperparameter optimization


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


  • 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/