Proteus: A Hierarchical Portfolio of Solvers and Transformations
This work addresses combinatorial problem-solving for AI and optimization domains by integrating multiple solvers and encodings, representing an incremental advance over existing portfolio methods.
The paper tackles the challenge of solving constraint satisfaction problems (CSPs) by introducing Proteus, a hierarchical portfolio approach that dynamically chooses between CSP solvers and SAT encodings with corresponding SAT solvers, resulting in significant performance improvements on challenging CSP competition instances.
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 exploiting alternative view-points and solvers for combinatorial problem-solving.