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.
Choose the source that matches your workflow
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.
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.
Repository
Clone or browse the main repository when you need the current development tree and full project history.
Three practical entry points
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)"
Build the CLI solver
From the repository root, the release build writes the binary and static library under build/.
./build.sh release
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.
What the current source tree provides
build/Local-MIPStandalone solver binary for file-based runs.
build/libLocalMIP.aStatic library with headers under src/.
localmip_pypybind11 bindings with result queries, parameter files, prepared models, and modeling support.
example/C++ API demos for simple usage, model building, multi-seed parallelism, callbacks, and custom search components.
tests/CTest targets for unit, integration, and instance-driven checks.
test-set/Bundled sample .mps and .lp instances for demos and smoke tests.
Keep the environment explicit
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.
CMake 3.15+ and C++20
The source tree requires CMake 3.15 or later and a C++20-compatible GCC or Clang toolchain.
bash, make, POSIX utilities
The repository build scripts use standard shell tooling and write generated artifacts under build/.
Use the right snapshot for the right purpose
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.
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.
Check the install before moving on
Python import check
.venv/bin/python -c "import localmip_py as lm; print(lm.LocalMIP)"
Source build smoke test
Use the Quick Start for a verified 10-second CLI run on a bundled instance.
Open source, permissive, and inspectable
MIT License
Local-MIP is released under the MIT License.
Issues and documentation
Use GitHub Issues for bugs or feature requests, and the documentation pages for setup and examples.