Skip to main content

A Python interface to the Exact integer linear programming oslver

Project description

Exact

Exact solves decision and optimization problems formulated as binary linear programs, also known as 0-1 integer linear programs or pseudo-Boolean formulas.

Exact is a fork of RoundingSat and improves upon its predecessor in reliability, performance and ease-of-use. The name "Exact" reflects that the answers are fully sound, as approximate and floating-point calculations only occur in heuristic parts of the algorithm. As such, Exact can soundly be used for verification and theorem proving, where its envisioned ability to emit machine-checkable certificates of optimality and unsatisfiability should prove useful.

Features

  • Native conflict analysis over binary linear constraints, constructing full-blown cutting planes proofs.
  • Highly efficient watched propagation routines.
  • Seamless use of arbitrary precision arithmetic.
  • Hybrid linear (top-down) and core-guided (bottom-up) optimization.
  • Optional integration with the SoPlex LP solver.
  • Compiles on macOS.
  • Under development: generation of certificates of optimality and unsatisfiability that can be automatically verified by VeriPB.

Usage

TODO: explain how to use this Python package

Citations

Origin paper with a focus on cutting planes conflict analysis:
[EN18] J. Elffers, J. Nordström. Divide and Conquer: Towards Faster Pseudo-Boolean Solving. IJCAI 2018

Integration with SoPlex:
[DGN20] J. Devriendt, A. Gleixner, J. Nordström. Learn to Relax: Integrating 0-1 Integer Linear Programming with Pseudo-Boolean Conflict-Driven Search. CPAIOR 2020 / Constraints journal

Watched propagation:
[D20] J. Devriendt. Watched Propagation for 0-1 Integer Linear Constraints. CP 2020

Core-guided optimization:
[DGDNS21] J. Devriendt, S. Gocht, E. Demirović, J. Nordström, P. J. Stuckey. Cutting to the Core of Pseudo-Boolean Optimization: Combining Core-Guided Search with Cutting Planes Reasoning. AAAI 2021

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exact-0.1.0.tar.gz (779.0 kB view details)

Uploaded Source

Built Distribution

exact-0.1.0-py3-none-any.whl (810.0 kB view details)

Uploaded Python 3

File details

Details for the file exact-0.1.0.tar.gz.

File metadata

  • Download URL: exact-0.1.0.tar.gz
  • Upload date:
  • Size: 779.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/2.7.18 Linux/5.4.0-80-generic

File hashes

Hashes for exact-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a88cf4adfd02a196aacec506b969749223afd368d1a6724d1de1169fb882461c
MD5 14d11e7d0c608c6e75e6977392044673
BLAKE2b-256 8512825580ae58f717fac1f33f137b081c120c9890556bc18a89b47dd52cd35e

See more details on using hashes here.

File details

Details for the file exact-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: exact-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 810.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/2.7.18 Linux/5.4.0-80-generic

File hashes

Hashes for exact-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 305dfb681994bee43f7560ea0a3dcf89c3eae59bfa74f88ec3c5b1a7a3210986
MD5 af92965ceffb8c39881837bc8b2ab67e
BLAKE2b-256 feac55ce9a24034f33df134a2f37ab9707117ef5aaa5c7dc6a7a0a4b3027ba2c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page