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.0.25.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.0.25-py3-none-any.whl (12.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mip-1.0.25.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/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for mip-1.0.25.tar.gz
Algorithm Hash digest
SHA256 253193e0a151dcea9ab44f8163155d19935df52255c35df4156610b21d3941cf
MD5 b556f4745c71f2188ac094c608bee0cf
BLAKE2b-256 3980d4946b7995df0b50da1ad252b1d75b9bbc065eb1f0e2e55424e0b73fff71

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mip-1.0.25-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/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for mip-1.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 28cad05f9c113b2ffd5a7d361d86b4dfd8da4d143037fd3f6563574ca9c10328
MD5 bd721afd7222aa37a93e3fb2c34b5375
BLAKE2b-256 5f8b9559cd9f27c9d4ae29ed5bacfc96df3c2e3cf3cad350f4cffc50f1c603a5

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