An Optimization Modulo Theory Solver.
Project description
A library for OMT(BV) Solving
Optimization Modulo Theory (OMT) extends Satisfiability Modulo Theories (SMT) by incorporating optimization objectives.
The Engines
Reduce to Quantified SMT
- Z3
- CVC5
- Yices-QS
- Bitwuzla
Reduce to Weighted MaxSAT
- The OBV-BS algorithm
- The FM algorithm
- The RC2 algorithm
- Off-the-shelf MaxSAT solvers
https://github.com/FlorentAvellaneda/EvalMaxSAT
SMT-based Iterative Search
- Linear search
- Binary search
TBD
Integration
Exiting OMT solvers?
- Z3 (to MaxSAT?)
- OptiMathSAT
- ...
Optimizations
Improvements to the OBV-BS algorithm
- Variable Polarity Setting: prefer 1 over 0 during the search?
The relevant API (NOTE: some SAT solvers in pysat do not support this API)
def set_phases(self, literals=[]):
"""
Sets polarities of a given list of variables.
"""
TBD: to see how to use this API...
References
- Sebastiani, R., & Tomasi, S. (2015). Optimization in SMT with LA(Q) cost functions. In International Conference on Principles and Practice of Constraint Programming (pp. 484-498). Springer, Cham.
- Bjørner, N., Phan, A. D., & Fleckenstein, L. (2015). νZ-an optimizing SMT solver. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems (pp. 194-199). Springer, Berlin, Heidelberg.
- Martins, R., Manquinho, V. M., & Lynce, I. (2014). Open-WBO: A modular MaxSAT solver. In International Conference on Theory and Applications of Satisfiability Testing (pp. 438-445). Springer, Cham.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyomt-0.0.3.tar.gz.
File metadata
- Download URL: pyomt-0.0.3.tar.gz
- Upload date:
- Size: 67.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70617f434f8725b33cf47d0eb5d887908fb2986ffd61e48fa4b9c56dc1d42379
|
|
| MD5 |
fc2e03878f76efee828e9af531efc5ae
|
|
| BLAKE2b-256 |
35186537bb0ac5206cc3d114c7c2c3a164107d4d6e473dcb0ce1d904de203cbe
|
File details
Details for the file pyomt-0.0.3-py2.py3-none-any.whl.
File metadata
- Download URL: pyomt-0.0.3-py2.py3-none-any.whl
- Upload date:
- Size: 88.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc654c87c701b84c820049babbd8f8fca90deb2e2c05638a9b529cb0abcef8d1
|
|
| MD5 |
e6622db081daba85e6cabe80f0e72f72
|
|
| BLAKE2b-256 |
c36852b5056d8d7bd91434540729d7bfea665b9091a895891f7a2f9f5225fc3f
|