Python tools for Modeling and Solving Mixed-Integer Programs
Project description
Python MIP (Mixed-Integer Linear Programming) Tools
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, 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 generation: write your cut generator in Python and integrate it into 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 ctypes 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 than the official Gurobi python interface (which is incompatible with Pypy);
-
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; the design is solver independent and more solvers may be supported in the future but right now the priority is to support as much as possible all features of these solvers;
-
completely written in modern statically typed Python 3 (requires Python 3.5 or newer).
Documentation
The Documentation for Python-MIP is available at: https://python-mip.readthedocs.io/en/latest/
A PDF version is also available: https://media.readthedocs.org/pdf/python-mip/latest/python-mip.pdf
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mip-1.1.0.tar.gz
.
File metadata
- Download URL: mip-1.1.0.tar.gz
- Upload date:
- Size: 12.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65cf15f67312e96f146d9410b24d7cddb24949f3da8c9b45fd9f8796feeb826e |
|
MD5 | 7b9e888f44e25e1ada3823ddc8ad1097 |
|
BLAKE2b-256 | bb2fbc01f49f0ca0c9e67185389a5813c9960011ae9185827ee44f438f67288c |
File details
Details for the file mip-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: mip-1.1.0-py3-none-any.whl
- Upload date:
- Size: 12.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1468ee523a8e43ba77ff68122fa08c9aba8c510ff1047d2948608d4f9ccb759 |
|
MD5 | b04d85123529b04aeb0f9f175e93a974 |
|
BLAKE2b-256 | ab702f8d8febdced19d02743fd615cf40908107d3cd2b3b8c2a83cb0ef0c0d0c |