--- id: mip version: "1.17.6" license: Eclipse Public License - v 2.0 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES… (full text in the JSON record) license_treatment: copyleft maintenance: active --- # mip — Python tools for Modeling and Solving Mixed-Integer Linear Programs (MIPs) License: copyleft · Maintenance: active · Downloads: 605.1K/mo ## What it is and what it does Python MIP is a modeling and solving toolkit for mixed-integer linear programs, designed to make it easy to write optimization problems in Python using operator overloading and a high-level syntax. It communicates directly with native solver libraries via cffi, supporting both the open-source CBC solver and the commercial Gurobi solver with a single, solver-independent codebase. The package provides advanced features like cut generation, lazy constraints, solution pools, and MIPStart heuristics for warm-starting searches. It requires Python 3.10 or newer and runs on CPython and PyPy. The main dependencies are cffi and cbcbox. Use it for: - Model and solve supply chain optimization, production scheduling, or resource allocation problems using a Pythonic syntax - Implement branch-and-cut algorithms with custom cut generators and lazy constraint callbacks for large-scale MIPs - Migrate optimization models from existing codebases by leveraging compatible syntax and solver-agnostic code - Explore multiple near-optimal solutions via solution pools during MIP search - Accelerate MIP model creation on PyPy for performance-critical applications ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Python MIP models and solves mixed-integer linear programs (MIPs) using a high-level syntax with support for advanced solver features like cut generation, lazy constraints, and solution pools. Yes, if you need to model and solve mixed-integer linear programs in Python. The package is actively maintained, has low install friction, supports current Python versions, and offers a clean API with advanced solver features. The EPL-2.0 copyleft license requires compliance in derivative works. No known security vulnerabilities. ## Install pip install mip uv add mip poetry add mip ## Installing mip Before you install: Low install friction with a pure-wheel distribution. The package is actively maintained (last commit 2026-06-09) and in production-stable status. Runtime depends on cffi and cbcbox. License in practice: Licensed under Eclipse Public License 2.0 (EPL-2.0), a copyleft license. You may use and modify the package freely, but derivative works and distributions must carry the same license terms and include a copy of the EPL-2.0 agreement. Quickstart: pip install mip from mip import Model, xsum, BINARY m = Model() x = [m.add_var(var_type=BINARY) for _ in range(10)] m.objective = xsum(x) m.optimize() Requires Python 3.10 or newer; cbcbox solver dependency must be available Verify before relying: - Whether cbcbox is automatically installed or requires separate system-level solver setup - Performance comparison claims and their test conditions - Compatibility with Gurobi solver integration beyond CBC ## Package facts - License: Eclipse Public License - v 2.0 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES… (full text in the JSON record) (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 605.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags mixed integer linear programming, MIP solver python, linear optimization modeling, integer programming library, branch and cut solver, mathematical optimization python, constraint programming, optimization, operations-research, solver-integration [View on SkillFed](https://skillfed.io/packages/mip) · [View on PyPI](https://pypi.org/project/mip/)