Extreme SAT-based Constraint solving with R-Solve

We present the architecture of R-Solve, a high-performance constraint solver that extends the gains made in SAT performance over the past fifteen years on static decision problems to problems that require on-the-fly adaptation, solution space exploration and optimization. R-Solve brings together a modern, open SAT solver, HPC ideas in ensemble and collaborative parallel solving and a novel set of extensions supporting, for the first time, an efficient system for unrestricted incremental solving. These extensions, which we call Smart Repair, enable R-Solve to address problems in dynamic planning and constrained optimization involving complex logical and arithmetic constraints. We provide insight into the rationale and challenges of extending an aggressively optimized competitive solver to support a new class of problem, provide a performance milestone illustrating the potential of R-Solve and Smart Repair and discuss new frontiers for further HPC research in SAT-based constraint solving and constrained optimization.

[1]  Sharad Malik,et al.  Boolean satisfiability from theoretical hardness to practical success , 2009, Commun. ACM.

[2]  Fahiem Bacchus,et al.  Using More Reasoning to Improve #SAT Solving , 2007, AAAI.

[3]  Wolfgang Küchlin,et al.  PaSAT - Parallel SAT-Checking with Lemma Exchange: Implementation and Applications , 2001, Electron. Notes Discret. Math..

[4]  Joonyoung Kim,et al.  SATIRE: A new incremental satisfiability engine , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[5]  Armin Biere,et al.  Effective Preprocessing in SAT Through Variable and Clause Elimination , 2005, SAT.

[6]  Maria Paola Bonacina,et al.  PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems , 1996, J. Symb. Comput..

[7]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..

[8]  Siert Wieringa,et al.  Asynchronous Multi-core Incremental SAT Solving , 2013, TACAS.

[9]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[10]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[11]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.

[12]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[13]  Qin Guo,et al.  Effective preprocessing in #SAT , 2012, Other Conferences.

[14]  Youssef Hamadi,et al.  Seven Challenges in Parallel SAT Solving , 2012, AI Mag..

[15]  Daniel Singer Parallel Resolution of the Satisfiability Problem: A Survey , 2006 .