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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyomt-0.0.3.tar.gz
(67.4 kB
view details)
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
pyomt-0.0.3-py2.py3-none-any.whl
(88.3 kB
view details)
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
|