Dantzig: A Rust-powered LP library for Python.

Dantzig is a lightweight and concise linear programming solver suitable for small and large-scale problems alike.

Dantzig is implemented in both Rust and Python, meaning you get the expressiveness and flexibility of a Python frontend plus the raw computing speed of a Rust backend.

Dantzig supports

  • A solver featuring a parametric self-dual algorithm

  • Arbitrarily restricted variables, including completely unrestricted free variables

  • ==, <=, and >= constraints

  • Both minimization and maximization problems

  • A numerically stable LU factorization with partial pivoting routine for robust linear algebra operations

  • Memory-efficient sparse matrix representations

  • Modern Python type-checking

Note

This project is under active development. While we continue to improve the library, please submit feature requests and bug reports.

Indices and tables