,
Alexey Ignatiev
,
Peter J. Stuckey
,
Allen Z. Zhong
Creative Commons Attribution 4.0 International license
Lazy Clause Generation (LCG) is an architecture for building Constraint Programming (CP) solvers using an underlying Boolean Satisfiability (SAT) engine. The CP propagation engine lazily creates clauses that define the integer variables and impose problem restrictions. The SAT engine uses the clausal model to reason and search, including, crucially, the generation of nogoods. However, while SAT solving has made significant advances recently, the underlying SAT technology in most LCG solvers has largely remained the same. Using a new interface to SAT engines, IPASIR-UP, we can construct an LCG solver which can swap out the underlying SAT engine with any that supports the interface. This new approach means we need to revisit many of the design and engineering decisions for LCG solvers, to take maximum advantage of a better underlying SAT engine while adhering to the restrictions of the interface. In this paper, we explore the possibilities and challenges of using IPASIR-UP for LCG, showing that it can be used to create a highly competitive solver.
@InProceedings{dekker_et_al:LIPIcs.CP.2025.42,
author = {Dekker, Jip J. and Ignatiev, Alexey and Stuckey, Peter J. and Zhong, Allen Z.},
title = {{Towards Modern and Modular SAT for LCG}},
booktitle = {31st International Conference on Principles and Practice of Constraint Programming (CP 2025)},
pages = {42:1--42:12},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-380-5},
ISSN = {1868-8969},
year = {2025},
volume = {340},
editor = {de la Banda, Maria Garcia},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CP.2025.42},
URN = {urn:nbn:de:0030-drops-239038},
doi = {10.4230/LIPIcs.CP.2025.42},
annote = {Keywords: Lazy Clause Generation, Boolean Satisfiability, IPASIR-UP}
}
archived version
archived version