Software

Get Local-MIP

Install the published 2.0.10 Python bindings through a local virtual environment, or download the tagged source tree when you need the CLI solver, C++ API, examples, callbacks, or reproducible archived versions.

Release Channels

Choose the source that matches your workflow

Python 2.0.10

PyPI package

Install a published CPython 3.8-3.12 manylinux x86_64 wheel in a local virtual environment when you want the shortest path to importing localmip_py.

Tagged source

Local-MIP v2.0.10

The v2.0.10 release improves activity-update reliability and efficiency, records bounded incumbent traces at the actual improvement times, and rejects invalid API values and strategy names.

Development

Repository

Clone or browse the main repository when you need the current development tree and full project history.

Install Paths

Three practical entry points

01

Install Python bindings

For a published CPython 3.8-3.12 manylinux x86_64 wheel, create a local virtual environment, install from PyPI, and import the module with the same interpreter.

python3 -m venv .venv && .venv/bin/python -m pip install localmip
.venv/bin/python -c "import localmip_py as lm; print(lm.LocalMIP)"
02

Build the CLI solver

From the repository root, the release build writes the binary and static library under build/.

./build.sh release
03

Build everything

Use the full build when you also need examples and the local pybind11 module. The legacy local bindings build expects a supported CPython interpreter and pybind11>=2.10,<3.

./build.sh all

For runnable first commands and a 10-second smoke test, use the Quick Start.

Distribution Contents

What the current source tree provides

CLIbuild/Local-MIP

Standalone solver binary for file-based runs.

C++build/libLocalMIP.a

Static library with headers under src/.

Pythonlocalmip_py

pybind11 bindings with result queries, parameter files, prepared models, and modeling support.

Examplesexample/

C++ API demos for simple usage, model building, multi-seed parallelism, callbacks, and custom search components.

Teststests/

CTest targets for unit, integration, and instance-driven checks.

Datatest-set/

Bundled sample .mps and .lp instances for demos and smoke tests.

Requirements

Keep the environment explicit

PyPI path

CPython 3.8-3.12 on Linux x86_64

PyPI publishes 2.0.10 manylinux x86_64 wheels for CPython 3.8 through 3.12. Repository development builds should use the same interpreter range with pybind11>=2.10,<3; pip install ./python-bindings installs that build dependency in isolation.

Source builds

CMake 3.15+ and C++20

The source tree requires CMake 3.15 or later and a C++20-compatible GCC or Clang toolchain.

Build tools

bash, make, POSIX utilities

The repository build scripts use standard shell tooling and write generated artifacts under build/.

Version Notes

Use the right snapshot for the right purpose

Current stable source

Local-MIP v2.0.10

This release certifies exactly representable constraint activities and skips their periodic recomputation, while fallback arithmetic refreshes only rows changed since the previous pass. Incumbent improvements are recorded at their actual timestamps in a bounded trace of at most 3000 points without a polling thread. API setters now reject out-of-range values and unsupported strategy names, smooth_prob treats 0 as never and 10000 as always, and tabu-offset sampling stays lightweight in the move path. The broader 2.x line also includes validated warm starts, four initialization methods, immutable prepared models, and caller-managed multi-seed execution.

Paper reproduction

Local-MIP 1.0 archive

The experimental results reported in the CP 2024 and Artificial Intelligence 2025 papers were obtained using Local-MIP 1.0.

Verification

Check the install before moving on

Python import check

.venv/bin/python -c "import localmip_py as lm; print(lm.LocalMIP)"
License & Help

Open source, permissive, and inspectable

License

MIT License

Local-MIP is released under the MIT License.

Support

Issues and documentation

Use GitHub Issues for bugs or feature requests, and the documentation pages for setup and examples.