Skip to main content

Python tools for Modeling and Solving Mixed-Integer Linear Programs (MIPs)

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 own 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 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 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

This version

1.2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mip-1.2.0.tar.gz (12.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mip-1.2.0-py3-none-any.whl (15.3 MB view details)

Uploaded Python 3

File details

Details for the file mip-1.2.0.tar.gz.

File metadata

  • Download URL: mip-1.2.0.tar.gz
  • Upload date:
  • Size: 12.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3

File hashes

Hashes for mip-1.2.0.tar.gz
Algorithm Hash digest
SHA256 cda9f9fb5b563d318361521b126ade786c078c71b247a7f4f77455f4b35b222d
MD5 381b92366fce39af14fd969a16949278
BLAKE2b-256 3cd2c0f15813f3fca823e9b807a53b9baf01b44a838ef3c6915fa5878fd5091e

See more details on using hashes here.

File details

Details for the file mip-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: mip-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3

File hashes

Hashes for mip-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 96ae21aca4d829c95573b62bf0d4a4d1c025597c3d7a20f55aaaa447a0ed363b
MD5 3b3be3f0cfae48f9cc0917ded24abeec
BLAKE2b-256 96b4ecbc8c98c061645af3032415fa47afa1428bd1162a8697ba1e156c4b0995

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page