Generating Efficient Solvers from Constraint Models.

Shu Lin,Na Meng,Wenxin Li
DOI: https://doi.org/10.1145/3468264.3468566
2021-01-01
Abstract:Combinatorial problems (CPs) arise in many areas, and people use constraint solvers to automatically solve these problems. However, the state-of-the-art constraint solvers (e.g., Gecode and Chuffed) have overly complicated software architectures; they compute solutions inefficiently. This paper presents a novel and model-driven approach-SoGEN-to synthesize efficient problem-specific solvers from constraint models. Namely, when users model a CP with our domain-specific language PDL (short for Problem Description Language), SoGEN automatically analyzes various properties of the problem (e.g., search space, value boundaries, function monotonicity, and overlapping subproblems), synthesizes an efficient solver algorithm based on those properties, and generates a C program as the problem solver. SoGEN is unique because it can create solvers that resolve constraints via dynamic programming (DP) search. For evaluation, we compared the solvers generated by SoGEN with two state-of-the-art constraint solvers: Gecode and Chuffed. SoGEN's solvers resolved constraints more efficiently; they achieved up to 6,058x speedup over Gecode and up to 31,300x speedup over Chuffed. Additionally, we experimented with both SoGEN and the state-of-the-art solver generator-Dominion. We found SoGEN to generate solvers faster and the produced solvers are more efficient.
What problem does this paper attempt to address?