Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 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 statically typed Python 3 (requires Python 3.5 or newer).

Examples

Many Python-MIP examples are documented at https://python-mip.readthedocs.io/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://python-mip.readthedocs.io/en/latest/

A PDF version is also available: https://media.readthedocs.org/pdf/python-mip/latest/python-mip.pdf

Build status

Build Status

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.6.4.tar.gz (13.9 MB view details)

Uploaded Source

Built Distribution

mip-1.6.4-py3-none-any.whl (13.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mip-1.6.4.tar.gz
  • Upload date:
  • Size: 13.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.8.0

File hashes

Hashes for mip-1.6.4.tar.gz
Algorithm Hash digest
SHA256 14e14b5ebbc35dec67f67300a2b97ece2bcd4beacbeb24de9d578ab2642f803f
MD5 7d936bdad223d20ebe842e16954a1437
BLAKE2b-256 b2564ce47f19c69c251109708b50e4a41ce7635f99acf5ae2c9d89586099df3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mip-1.6.4-py3-none-any.whl
  • Upload date:
  • Size: 13.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.8.0

File hashes

Hashes for mip-1.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 55badfe3c24377fd78b3492725f51df91baaa29169fa83486059ddefcb681b2f
MD5 5160bab35064065b3c64b4abb86c5c53
BLAKE2b-256 a8e35b1d1891fa757ec2438eb93ca80db592cee923f8f5bb696c189ee1415647

See more details on using hashes here.

Supported by

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