All Projects → coin-or → Python Mip

coin-or / Python Mip

Licence: epl-2.0
Collection of Python tools for the modeling and solution of Mixed-Integer Linear programs

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Python Mip

Ojalgo
oj! Algorithms
Stars: ✭ 336 (+66.34%)
Mutual labels:  optimization-algorithms, optimization
Pagmo2
A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 540 (+167.33%)
Mutual labels:  optimization-algorithms, optimization
Optim
OptimLib: a lightweight C++ library of numerical optimization methods for nonlinear functions
Stars: ✭ 411 (+103.47%)
Mutual labels:  optimization-algorithms, optimization
dfogn
DFO-GN: Derivative-Free Optimization using Gauss-Newton
Stars: ✭ 20 (-90.1%)
Mutual labels:  optimization, optimization-algorithms
Componentarrays.jl
Arrays with arbitrarily nested named components.
Stars: ✭ 72 (-64.36%)
Mutual labels:  modeling, optimization
ForBES
Generic and efficient MATLAB solver for nonsmooth optimization problems
Stars: ✭ 19 (-90.59%)
Mutual labels:  optimization, optimization-algorithms
Awesome Robotics
A curated list of awesome links and software libraries that are useful for robots.
Stars: ✭ 478 (+136.63%)
Mutual labels:  optimization-algorithms, optimization
FrankWolfe.jl
Julia implementation for various Frank-Wolfe and Conditional Gradient variants
Stars: ✭ 47 (-76.73%)
Mutual labels:  optimization, optimization-algorithms
Pyswarms
A research toolkit for particle swarm optimization in Python
Stars: ✭ 742 (+267.33%)
Mutual labels:  optimization-algorithms, optimization
Cppnumericalsolvers
a lightweight C++17 library of numerical optimization methods for nonlinear functions (Including L-BFGS-B for TensorFlow)
Stars: ✭ 638 (+215.84%)
Mutual labels:  optimization-algorithms, optimization
qpmad
ROS-compatible Eigen-based Goldfarb-Idnani quadratic programming solver
Stars: ✭ 41 (-79.7%)
Mutual labels:  optimization, optimization-algorithms
Pygmo2
A Python platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 134 (-33.66%)
Mutual labels:  optimization-algorithms, optimization
gibbous
Convex optimization for java and scala, built on Apache Commons Math
Stars: ✭ 17 (-91.58%)
Mutual labels:  optimization, optimization-algorithms
Simpeg
Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications.
Stars: ✭ 283 (+40.1%)
Mutual labels:  modeling, optimization
Nonlinear-Optimization-Algorithms
MATLAB implementations of a variety of nonlinear programming algorithms.
Stars: ✭ 86 (-57.43%)
Mutual labels:  optimization, optimization-algorithms
Ensmallen
A header-only C++ library for numerical optimization --
Stars: ✭ 436 (+115.84%)
Mutual labels:  optimization-algorithms, optimization
a-tour-of-pytorch-optimizers
A tour of different optimization algorithms in PyTorch.
Stars: ✭ 46 (-77.23%)
Mutual labels:  optimization, optimization-algorithms
procrustes
Python library for finding the optimal transformation(s) that makes two matrices as close as possible to each other.
Stars: ✭ 48 (-76.24%)
Mutual labels:  optimization, optimization-algorithms
Solid
🎯 A comprehensive gradient-free optimization framework written in Python
Stars: ✭ 546 (+170.3%)
Mutual labels:  optimization-algorithms, optimization
Optimviz
Visualize optimization algorithms in MATLAB.
Stars: ✭ 106 (-47.52%)
Mutual labels:  optimization-algorithms, optimization

Python MIP (Mixed-Integer Linear Programming) Tools

Package website: http://python-mip.com

Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). MIP syntax was inspired by Pulp. Just like CyLP it also provides access to advanced solver features like cut generation, lazy constraints, MIPstarts and solution Pools. Porting Pulp and Gurobi models should be quite easy.

Some of the main features of MIP are:

  • high level modeling: write your MIP models in Python as easily as in high level languages such as MathProg: operator overloading makes it easy to write linear expressions in Python;

  • full featured:

    • cut generators and lazy constraints: work with strong formulations with a large number of constraints by generating only the required inequalities during the branch and cut search;
    • solution pool: query the elite set of solutions found during the search;
    • MIPStart: use a problem dependent heuristic to generate initial feasible solutions for the MIP search.
  • fast: the Python MIP package calls directly the native dynamic loadable library of the installed solver using the modern python CFFI module; models are efficiently stored and optimized by the solver and MIP transparently handles all communication with your Python code; it is also compatible with the Pypy just in time compiler, meaning that you can have a much better performance, up to 25 times faster for the creation of large MIPs, than the official Gurobi python interface which only runs on CPython;

  • multi solver: Python MIP was written to be deeply integrated with the C libraries of the open-source COIN-OR Branch-&-Cut CBC solver and the commercial solver Gurobi; all details of communicating with different solvers are handled by Python-MIP and you write only one solver independent code;

  • written in modern typed Python 3 (requires Python 3.5 or newer).

Examples

Many Python-MIP examples are documented at https://docs.python-mip.com/en/latest/examples.html

The code of these examples and additional ones (published in tutorials) can be downloaded at https://github.com/coin-or/python-mip/tree/master/examples

Documentation

The full Python-MIP documentation is available at https://docs.python-mip.com/en/latest/

A PDF version is also available: https://python-mip.readthedocs.io/_/downloads/en/latest/pdf/

Mailing list

Questions, suggestions and development news can be posted at the Python-MIP google group.

Build status

Github Actions Status Current version Current total of lines License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].