Skip to main content

Fork Notice - Circuit Mind Interview

This repository is a fork of the original coin-or/python-mip library, created as part of an interview with Circuit Mind.


Python MIP (Mixed-Integer Linear Programming) Tools

Package website: http://python-mip.com

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, lazy constraints, 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 typed Python 3 (requires Python 3.12 or newer).

Examples

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

A PDF version is also available: https://python-mip.readthedocs.io/_/downloads/en/latest/pdf/

Mailing list

Questions, suggestions and feature request can be posted at Discussions.

Build status

CI Current version Current total of lines License

Metadata

Release files for python-mip26 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-mip26 2.2.0
File Size Uploaded Provenance Actions
python_mip26-2.2.0.tar.gz 11.5 MB Without provenance Details for python_mip26-2.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for python-mip26 2.2.0
File Interpreter ABI Platform Actions
python_mip26-2.2.0-py3-none-any.whl Python 3 none any Details for python_mip26-2.2.0-py3-none-any.whl

Total release size: 23.0 MB

Release files / python_mip26-2.2.0.tar.gz

Download URL python_mip26-2.2.0.tar.gz
Size 11.5 MB
Tags Source
SHA-256 checksum
How to use checksums
844674e80745a5f6ae12d5a9c0c38df17885e30d22ba52a8b1bb523f4d55ed77
BLAKE2b-256 checksum
How to use checksums
fb17fa48fd59891de1ff86ff1758fc01a3cab969b67adb1ea002a42dc57a6a63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release files / python_mip26-2.2.0-py3-none-any.whl

Download URL python_mip26-2.2.0-py3-none-any.whl
Size 11.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ff5dff153a14fed65311d6a9e0b8b86415e801a374d3187540d3a62edf74c563
BLAKE2b-256 checksum
How to use checksums
bad896b012fefbe86b99e87da6afc917111d0c20288f1a6784c58f7d290d72e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Security for python-mip26 2.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page