cvxopt
(GPLv3, Python/C): Python Software for Convex Optimization- Pyomo (Python) (Sandia)
- PuLP (Python) interfaces to GLPK, CLP/CBC, CPLEX, GUROBI
optlang
- PICOS (GPL-3, Python): interface to linear and conic optimization solvers (cvxopt, smcp, mosek, cplex, gurobi, zibopt)
pycplex
(MIT, Python, C): interface to the ILOG CPLEX® Callable Library- python-zibopt (GPL-3, Python): solve MIQP using SCIP and SoPlex from the ZIB Optimization Suite
- SCIP (ZIB, C): MIP and MINLP, and a framework for constraint integer programming and branch-cut-and-price
- COIN-OR: index of packages interfacing to solvers
- BONMIN (EPL-1.0, C++): Basic Open-source Nonlinear Mixed INteger programming, for solving general MINLP (Mixed Integer NonLinear Programming) problems (IBM, CMU)
- IPOPT: large-scale nonlinear opt
pyipopt
(Python): interface to IPOPT
- NLOPT (LGPLv2/Open Source, C): nonlinear optimization library with Python bindings using SWIG
- lpsolve
- NEOS Server: State-of-the-Art Solvers for Numerical Optimization: free internet-based service for solving numerical optimization problems
- Numberjack: (LGPL-2.1, C++/Python) combinatorial optimisation platform
- NOMAD: (LGPL, C++): implementation of the Mesh Adaptive Direct Search algorithm (MADS), designed for difficult blackbox optimization problems, with objective and constraints arising from costly computer simulations
- PyMUMPS (BSD-3, Python): A parallel sparse direct solver
optipy
(MIT, Python): numerical optimization or minimzation.
- PyGLPK
pyglpk
(GPL-3.0, C/Python): fork
swiglpk
: plain vanilla SWIG bindings to GLPKC
libraryepyglpki
(Cython)python-glpk
(GPL-2)ecyglpki
(-, GPL-3):Cython
interfaceglpk-ctypes
(GPL-3.0, Python):ctypes
-based wrapperctypes-glpk
(Python, GPL-3):ctypes
-based wrapper- PyMathProg (Python) AMPL reincarnation, connects to GLPK via PyGLPK
cvexp
(Python) interfaces to GLPK,cvxopt
cvxpy
(Python): on top ofcvxopt
- https://github.com/cvxgrp/qcml
- PyLMI-SDP (BSD, Python): set of classes to represent and manipulate LMIs symbolically using SymPy. It also includes tools to export LMIs to CVXOPT SDP input and to the SDPA format
polytope
(BSD-3, Python): Geometric operations on polytopes of any dimension, usingscipy
, orcvxopt
if presentcddlib
(GPLv2, C): implementation in C of the double description method of Motzkin et al.transforms3d
(BSD-2, Python): 3 dimensional spatial transformations- Parma Polyhedra Library (GPLv3, C++)
- PPLPy (GPLv3, Python/Cython/C++): Cython bindings to the Parma Polyhedra Library
- PolyOp (GPLv3, OCaml): OCaml bindings to the Parma Polyhedra Library (LORIA, Univ. de Lorraine, CNRS, Inria)
islpy
(MIT, Python/C++): polyhedral analysis from Python, by wrappingisl
, a C library for manipulating sets and relations of integer points bounded by linear constraints. Supports intersection, union, set difference, emptyness check, convex hull, integer affine hull, integer projection, lexicographic minimum via parametric integer programming, parametric vertex enumerationgeode
(BSD-3, C++/Python): A computational geometry library for C++ and Python (Otherlab)- MinkSum (GPLv2, C++): takes as input the vertices of a set of polytopes and outputs the vertices of their Minkowski sum (Google)
libzonotope
(MIT, C++/Python): a collection of scripts and algorithms for zonotope manipulations
tspsolve
: solution algorithms for the Traveling salesman problem
- MIP: Mixed Integer Programming
- MILP: Mixed Integer Linear Programming
- MINLP: Mixed Integer Nonlinear Programming