Chaff: engineering an efficient SAT solver

Boolean satisfiability is probably the most studied of the combinatorial optimization/search problems. Significant effort has been devoted to trying to provide practical solutions to this problem for problem instances encountered in a range of applications in electronic design automation (EDA), as well as in artificial intelligence (AI). This study has culminated in the development of several SAT packages, both proprietary and in the public domain (e.g. GRASP, SATO) which find significant use in both research and industry. Most existing complete solvers are variants of the Davis-Putnam (DP) search algorithm. In this paper we describe the development of a new complete solver, Chaff which achieves significant performance gains through careful engineering of all aspects of the search-especially a particularly efficient implementation of Boolean constraint propagation (BCP) and a novel low overhead decision strategy. Chaff has been able to obtain one to two orders of magnitude performance improvement on difficult SAT benchmarks in comparison with other solvers (DP or otherwise), including GRASP and SATO.

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

[2]  Jan Karel Lenstra,et al.  Sequencing by enumerative methods , 1977 .

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

[4]  E.L. Lawler,et al.  Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey , 1977 .

[5]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[6]  Daniel Brélaz,et al.  New methods to color the vertices of a graph , 1979, CACM.

[7]  G. Rand Sequencing and Scheduling: An Introduction to the Mathematics of the Job-Shop , 1982 .

[8]  J. Carlier The one-machine sequencing problem , 1982 .

[9]  Michael R. Genesereth,et al.  The Use of Design Descriptions in Automated Diagnosis , 1984, Artif. Intell..

[10]  Randall Davis,et al.  Diagnostic Reasoning Based on Structure and Behavior , 1984, Artif. Intell..

[11]  Eugene C. Freuder,et al.  The Complexity of Some Polynomial Network Consistency Algorithms for Constraint Satisfaction Problems , 1985, Artif. Intell..

[12]  E. Nowicki,et al.  A block approach for single-machine scheduling with release dates and due dates , 1986 .

[13]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[14]  A. Goldberg,et al.  A new approach to the maximum-flow problem , 1988, JACM.

[15]  Egon Balas,et al.  The Shifting Bottleneck Procedure for Job Shop Scheduling , 1988 .

[16]  L. D. Whitley,et al.  Scheduling Problems and Traveling Salesmen: The Genetic Edge Recombination Operator , 1989, ICGA.

[17]  J. Carlier,et al.  An algorithm for solving the job-shop problem , 1989 .

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

[19]  Fred Glover,et al.  Tabu Search - Part II , 1989, INFORMS J. Comput..

[20]  Simon Kasif,et al.  On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks , 1990, Artif. Intell..

[21]  Steven Minton,et al.  Solving Large-Scale Constraint-Satisfaction and Scheduling Problems Using a Heuristic Repair Method , 1990, AAAI.

[22]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[23]  William J. Cook,et al.  A Computational Study of the Job-Shop Scheduling Problem , 1991, INFORMS Journal on Computing.

[24]  Gilbert Syswerda,et al.  The Application of Genetic Algorithms to Resource Scheduling , 1991, International Conference on Genetic Algorithms.

[25]  Michael P. Wellman,et al.  Planning and Control , 1991 .

[26]  Hector J. Levesque,et al.  A New Method for Solving Hard Satisfiability Problems , 1992, AAAI.

[27]  Jan Karel Lenstra,et al.  Job Shop Scheduling by Simulated Annealing , 1992, Oper. Res..

[28]  Steven Minton,et al.  Minimizing Conflicts: A Heuristic Repair Method for Constraint Satisfaction and Scheduling Problems , 1992, Artif. Intell..

[29]  P. Langley Systematic and nonsystematic search strategies , 1992 .

[30]  Mauro Dell'Amico,et al.  Applying tabu search to the job-shop scheduling problem , 1993, Ann. Oper. Res..

[31]  Éric D. Taillard,et al.  Benchmarks for basic scheduling problems , 1993 .

[32]  Patrick Prosser,et al.  HYBRID ALGORITHMS FOR THE CONSTRAINT SATISFACTION PROBLEM , 1993, Comput. Intell..

[33]  Kazuhiko Kawamura,et al.  Managing genetic search in job shop scheduling , 1993, IEEE Expert.

[34]  Bart Selman,et al.  Domain-Independent Extensions to GSAT : Solving Large StructuredSatis ability , 1993 .

[35]  Bart Selman,et al.  Local search strategies for satisfiability testing , 1993, Cliques, Coloring, and Satisfiability.

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

[37]  Upendra Dave,et al.  Heuristic Scheduling Systems , 1993 .

[38]  Nicholas G. Hall,et al.  Maximizing the value of a space mission , 1994 .

[39]  Makoto Yokoo,et al.  Weak-Commitment Search for Solving Constraint Satisfaction Problems , 1994, AAAI.

[40]  Norman Sadeh,et al.  MICRO-OPPORTUNISTIC SCHEDULING THE MICRO-BOSS FACTORY SCHEDULER , 1994 .

[41]  Andrew B. Baker,et al.  The Hazards of Fancy Backtracking , 1994, AAAI.

[42]  Bart Selman,et al.  Noise Strategies for Improving Local Search , 1994, AAAI.

[43]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[44]  Claude Le Pape,et al.  Implementation of resource constraints in ILOG SCHEDULE: a library for the development of constraint-based scheduling systems , 1994 .

[45]  David A. McAllester,et al.  GSAT and Dynamic Backtracking , 1994, KR.

[46]  Eugene C. Freuder,et al.  Contradicting Conventional Wisdom in Constraint Satisfaction , 1994, ECAI.

[47]  Thomas Schiex,et al.  Solution Reuse in Dynamic Constraint Satisfaction Problems , 1994, AAAI.

[48]  W. D. Harvey,et al.  Nonsystematic backtracking search , 1995 .

[49]  J. Freeman Improvements to propositional satisfiability search algorithms , 1995 .

[50]  Thomas Schiex,et al.  Valued Constraint Satisfaction Problems: Hard and Easy Problems , 1995, IJCAI.

[51]  C. Le Pape,et al.  Three mechanisms for managing resource constraints in a library for constraint-based scheduling , 1995 .

[52]  Bart Selman,et al.  Systematic Versus Stochastic Constraint Satisfaction , 1995, IJCAI.

[53]  Robert K. Brayton,et al.  Combinational test generation using satisfiability , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[54]  Bart Selman,et al.  Pushing the Envelope: Planning, Propositional Logic and Stochastic Search , 1996, AAAI/IAAI, Vol. 2.

[55]  E. Nowicki,et al.  A Fast Taboo Search Algorithm for the Job Shop Problem , 1996 .

[56]  Michel Gendreau,et al.  A View of Local Search in Constraint Programming , 1996, CP.

[57]  Jan Karel Lenstra,et al.  Job Shop Scheduling by Local Search , 1996, INFORMS J. Comput..

[58]  Pascal Van Hentenryck,et al.  Strategic directions in constraint programming , 1996, CSUR.

[59]  Toby Walsh,et al.  Local Search and the Number of Solutions , 1996, CP.

[60]  Hantao Zhang,et al.  Combining Local Search and Backtracking Techniques for Constraint Satisfaction , 1996, AAAI/IAAI, Vol. 1.

[61]  Thomas Schiex,et al.  Russian Doll Search for Solving Constraint Optimization Problems , 1996, AAAI/IAAI, Vol. 1.

[62]  Stephen F. Smith,et al.  Applying constraint satisfaction techniques to job shop scheduling , 1997, Ann. Oper. Res..

[63]  J. K. Lenstra,et al.  Local Search in Combinatorial Optimisation. , 1997 .

[64]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.

[65]  Vangelis Th. Paschos,et al.  A new single model and derived algorithms for the satellite shot planning problem using graph theory concepts , 1997, Ann. Oper. Res..

[66]  Michael D. Ernst,et al.  Automatic SAT-Compilation of Planning Problems , 1997, IJCAI.

[67]  Bart Selman,et al.  Evidence for Invariants in Local Search , 1997, AAAI/IAAI.

[68]  Stephen F. Smith,et al.  Stochastic Procedures for Generating Feasible Schedules , 1997, AAAI/IAAI.

[69]  Makoto Yokoo,et al.  Why Adding More Constraints Makes a Problem Easier for Hill-climbing Algorithms: Analyzing Landscapes of CSPs , 1997, CP.

[70]  Chu Min Li,et al.  Heuristics Based on Unit Propagation for Satisfiability Problems , 1997, IJCAI.

[71]  Robert A. Morris,et al.  Optimizing Observation Scheduling Objectives , 1997 .

[72]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[73]  Dominik Stoffel,et al.  Reasoning in Boolean Networks - Logic Synthesis and Verification Using Testing Techniques , 1997, Frontiers in electronic testing.

[74]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[75]  Stephen F. Smith,et al.  Profile-Based Algorithms to Solve Multiple Capacitated Metric Scheduling Problems , 1998, AIPS.

[76]  Egon Balas,et al.  Guided Local Search with Shifting Bottleneck for Job Shop Scheduling , 1998 .

[77]  Paul Shaw,et al.  Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems , 1998, CP.

[78]  Mark S. Fox,et al.  Intelligent Scheduling , 1998 .

[79]  David Joslin,et al.  "Squeaky Wheel" Optimization , 1998, AAAI/IAAI.

[80]  Bart Selman,et al.  Randomization in Backtrack Search: Exploiting Heavy-Tailed Profiles for Solving Hard Scheduling Problems , 1998, AIPS.

[81]  Holger H. Hoos,et al.  Stochastic local search - methods, models, applications , 1998, DISKI.

[82]  S. A. Harrison,et al.  Task Scheduling for Satellite Based Imagery , 1999 .

[83]  Masahiro Fujita,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, DAC '99.

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

[85]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[86]  Maria Luisa Bonet,et al.  A study of proof search algorithms for resolution and polynomial calculus , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[87]  N. Bataille,et al.  DEALING WITH UNCERTAINTY WHEN MANAGING AN EARTH OBSERVATION SATELLITE , 1999 .

[88]  Joao Marques-Silva,et al.  The Impact of Branching Heuristics in Propositional Satisfiability Algorithms , 1999, EPIA.

[89]  Gérard Verfaillie,et al.  Exploiting a Common Property Resource under a Fairness Constraint: a Case Study , 1999, IJCAI.

[90]  Stephen F. Smith,et al.  Iterative Flattening: A Scalable Method for Solving Multi-Capacity Scheduling Problems , 2000, AAAI/IAAI.

[91]  Zhe Wu,et al.  An Efficient Global-Search Strategy in Discrete Lagrangian Methods for Solving Hard Satisfiability Problems , 2000, AAAI/IAAI.

[92]  Narendra Jussien,et al.  Local search with constraint propagation and conflict-based heuristics , 2000, Artif. Intell..

[93]  Joao Marques-Silva,et al.  Using Randomization and Learning to Solve Hard Real-World Instances of Satisfiability , 2000, CP.

[94]  William J. Wolfe,et al.  Three Scheduling Algorithms Applied to the Earth Observing Systems Domain , 2000 .

[95]  Eli Ben-Sasson,et al.  Near Optimal Separation Of Tree-Like And General Resolution , 2004, Comb..

[96]  Chu Min Li,et al.  Integrating Equivalency Reasoning into Davis-Putnam Procedure , 2000, AAAI/IAAI.

[97]  Gérard Verfaillie,et al.  Selecting and Scheduling Observations for Agile Satellites: Some Lessons from the Constraint Reasoning Community Point of View , 2001, CP.

[98]  Jin-Kao Hao,et al.  A “Logic-Constrained” Knapsack Formulation and a Tabu Algorithm for the Daily Photograph Scheduling of an Earth Observation Satellite , 2001, Comput. Optim. Appl..

[99]  Randal E. Bryant,et al.  Effective use of boolean satisfiability procedures in the formal verification of superscalar and VLIW , 2001, DAC '01.

[100]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[101]  Eli Ben-Sasson,et al.  Short proofs are narrow—resolution made simple , 2001, JACM.

[102]  Michael Molloy,et al.  A sharp threshold in proof complexity , 2001, STOC '01.

[103]  Philippe Baptiste,et al.  Constraint - based scheduling : applying constraint programming to scheduling problems , 2001 .

[104]  Gérard Verfaillie,et al.  Selecting and scheduling observations of agile satellites , 2002 .

[105]  Michael Alekhnovich,et al.  An exponential separation between regular and general resolution , 2002, STOC '02.

[106]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[107]  Ian P. Gent Arc Consistency in SAT , 2002, ECAI.

[108]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2003, J. Symb. Comput..

[109]  Steven David Prestwich Negative Effects of Modeling Techniques on Search Performance , 2003, Ann. Oper. Res..