Skip to main content

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

mip-1.1.1.tar.gz (12.7 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.1.1-py3-none-any.whl (12.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mip-1.1.1.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

Hashes for mip-1.1.1.tar.gz
Algorithm Hash digest
SHA256 6804120b47885b6e07b666164a91076043b338382deb41353506a43350db5e3e
MD5 1e40031429c8afdac123e744ec68b42d
BLAKE2b-256 82b2e37f7f2e40ad744b7c54e50ab96b07d9f5266cb2757511f3581454c928b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mip-1.1.1-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

Hashes for mip-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dffaffb0f4fbf510e57f1efc86e45df4e6ffedde75389eda1e5a398a8b4c908a
MD5 0b2a86fb05d204931887be30f5f84941
BLAKE2b-256 73ad9d08cf8bfc03861b3fd0354a2a3f9e38df5996d33cd43fc8769bf37fcdaa

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