Proteus: A Hierarchical Portfolio of Solvers and Transformations
Barry Hurley, Lars Kotthoff, Yuri Malitsky, Barry O'Sullivan

TL;DR
Proteus introduces a hierarchical portfolio approach that dynamically chooses between CSP and SAT solving strategies, including encoding selection, to improve performance on challenging CSP instances.
Contribution
It presents a novel hierarchical portfolio framework that integrates CSP and SAT solving, including encoding decisions, for enhanced problem-solving efficiency.
Findings
Proteus achieves significant performance improvements over traditional methods.
Encoding and solver selection greatly impact solving efficiency.
The approach effectively handles complex CSP instances with global constraints.
Abstract
In recent years, portfolio approaches to solving SAT problems and CSPs have become increasingly common. There are also a number of different encodings for representing CSPs as SAT instances. In this paper, we leverage advances in both SAT and CSP solving to present a novel hierarchical portfolio-based approach to CSP solving, which we call Proteus, that does not rely purely on CSP solvers. Instead, it may decide that it is best to encode a CSP problem instance into SAT, selecting an appropriate encoding and a corresponding SAT solver. Our experimental evaluation used an instance of Proteus that involved four CSP solvers, three SAT encodings, and six SAT solvers, evaluated on the most challenging problem instances from the CSP solver competitions, involving global and intensional constraints. We show that significant performance improvements can be achieved by Proteus obtained by…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Model-Driven Software Engineering Techniques · Advanced Software Engineering Methodologies
