Pueblo: A Hybrid Pseudo-Boolean SAT Solver

This paper introduces a new hybrid method for efficiently integrating Pseudo-Boolean (PB) constraints into generic SAT solvers in order to solve PB satisfiability and optimization problems. To achieve this, we adopt the cutting-plane technique to draw inferences among PB constraints and combine it with generic implication graph analysis for conflict-induced learning. Novel features of our approach include a light-weight and efficient hybrid learning and backjumping strategy for analyzing PB constraints and CNF clauses in order to simultaneously learn both a CNF clause and a PB constraint with minimum overhead and use both to determine the backtrack level. Several techniques for handling the original and learned PB constraints are introduced. Overall, our method benefits significantly from the pruning power of the learned PB constraints, while keeping the overhead of adding them into the problem low. In this paper, we also address two other methods for solving PB problems, namely Integer Linear Programming (ILP) and pre-processing to CNF SAT, and present a thorough comparison between them and our hybrid method. Experimental comparison of our method against other hybrid approaches is also demonstrated. Additionally, we provide details of the MiniSAT-based implementation of our solver Pueblo to enable the reader to construct a similar one.

[1]  Ke Xu,et al.  A Simple Model to Generate Hard Satisfiable Instances , 2005, IJCAI.

[2]  Andreas Kuehlmann,et al.  A fast pseudo-Boolean constraint solver , 2003, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Vasco M. Manquinho,et al.  The First Evaluation of Pseudo-Boolean Solvers (PB'05) , 2006, J. Satisf. Boolean Model. Comput..

[4]  Sanjeev Khanna,et al.  Complexity classifications of Boolean constraint satisfaction problems , 2001, SIAM monographs on discrete mathematics and applications.

[5]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..

[6]  Daniel P. Miranker,et al.  A Complexity Analysis of Space-Bounded Learning Algorithms for the Constraint Satisfaction Problem , 1996, AAAI/IAAI, Vol. 1.

[7]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[8]  Ralph E. Gomory,et al.  An algorithm for integer solutions to linear programs , 1958 .

[9]  Joachim P. Walser Solving Linear Pseudo-Boolean Constraint Problems with Local Search , 1997, AAAI/IAAI.

[10]  Clara Pizzuti Computing prime implicants by integer programming , 1996, Proceedings Eighth IEEE International Conference on Tools with Artificial Intelligence.

[11]  Vasco M. Manquinho,et al.  On Applying Cutting Planes in DLL-Based Algorithms for Pseudo-Boolean Optimization , 2005, SAT.

[12]  Shuvendu K. Lahiri,et al.  Deciding CLU Logic Formulas via Boolean and Pseudo-Boolean Encodings , 2002 .

[13]  Thomas Schiex,et al.  Nogood Recording for static and dynamic constraint satisfaction problems , 1993, Proceedings of 1993 IEEE Conference on Tools with Al (TAI-93).

[14]  Gerhard Reinelt,et al.  A Cutting Plane Algorithm for the Linear Ordering Problem , 1984, Oper. Res..

[15]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[16]  Vasco M. Manquinho,et al.  Effective lower bounding techniques for pseudo-Boolean optimization [EDA applications] , 2005, Design, Automation and Test in Europe.

[17]  Thomas Schiex,et al.  Nogood Recording for Static and Dynamic Constraint Satisfaction Problems , 1994, Int. J. Artif. Intell. Tools.

[18]  G. Nemhauser,et al.  Integer Programming , 2020 .

[19]  Ellis L. Johnson,et al.  Solving Large-Scale Zero-One Linear Programming Problems , 1983, Oper. Res..

[20]  Rina Dechter,et al.  Dead-End Driven Learning , 1994, AAAI.

[21]  Gerald J. Sussman,et al.  Forward Reasoning and Dependency-Directed Backtracking in a System for Computer-Aided Circuit Analysis , 1976, Artif. Intell..

[22]  Vasek Chvátal,et al.  Edmonds polytopes and a hierarchy of combinatorial problems , 1973, Discret. Math..

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

[24]  Matthew L. Ginsberg,et al.  Dynamic Backtracking , 1993, J. Artif. Intell. Res..

[25]  John N. Hooker,et al.  Generalized resolution and cutting planes , 1988 .

[26]  B. D. Bunday,et al.  Logic-Based 0-1 Constraint Programming , 1996 .

[27]  Igor L. Markov,et al.  Generic ILP versus specialized 0-1 ILP: an update , 2002, IEEE/ACM International Conference on Computer Aided Design, 2002. ICCAD 2002..

[28]  Matthew L. Ginsberg,et al.  Generalizing Boolean Satisfiability I: Background and Survey of Existing Work , 2011, J. Artif. Intell. Res..

[29]  Rina Dechter,et al.  Enhancement Schemes for Constraint Processing: Backjumping, Learning, and Cutset Decomposition , 1990, Artif. Intell..

[30]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[31]  P. Barth A Davis-Putnam based enumeration algorithm for linear pseudo-Boolean optimization , 1995 .

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

[33]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[34]  Matthew L. Ginsberg,et al.  Inference methods for a pseudo-boolean satisfiability solver , 2002, AAAI/IAAI.

[35]  Karem A. Sakallah,et al.  Pueblo: a modern pseudo-Boolean SAT solver , 2005, Design, Automation and Test in Europe.

[36]  S. Yang,et al.  Logic Synthesis and Optimization Benchmarks User Guide Version 3.0 , 1991 .