A Hybrid BDD and SAT Finite Domain Constraint Solver
Finite-domain constraint solvers based on Binary Decision Diagrams (BDDs) are a powerful technique for solving constraint problems over finite set and integer variables represented as Boolean formulæ. Boolean Satisfiability (SAT) solvers are another form of constraint solver that operate on constraints on Boolean variables expressed in clausal form. Modern SAT solvers have highly optimized propagation mechanisms and also incorporate efficient conflict-clause learning algorithms and effective search heuristics based on variable activity, but these techniques have not been widely used in finite-domain solvers. In this paper we show how to construct a hybrid BDD and SAT solver which inherits the advantages of both solvers simultaneously. The hybrid solver makes use of an efficient algorithm for capturing the inferences of a finite-domain constraint solver in clausal form, allowing us to automatically and transparently construct a SAT model of a finite-domain constraint problem. Finally, we present experimental results demonstrating that the hybrid solver can outperform both SAT and finite-domain solvers by a substantial margin.
Unable to display preview. Download preview PDF.
- 2.Bessière, C., Regin, J.-C.: MAC and combined heuristics: Two reasons to forsake FC (and CBJ?) on hard problems. In: Freuder, E.C. (ed.) CP 1996. LNCS, vol. 1118, Springer, Heidelberg (1996)Google Scholar
- 3.Bryant, R.E.: Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992) ISSN 0360-0300Google Scholar
- 7.Dechter, R.: Constraint Processing. Morgan Kaufmann, San Francisco (2003)Google Scholar
- 9.Eén, N., Sörensson, N.: Minisat+ (2005), http://www.cs.chalmers.se/Cs/Research/FormalMethods/MiniSat/MiniSat+.html
- 11.Junker, U.: QUICKXPLAIN: Conflict detection for arbitrary constraint propagation algorithms. In: IJCAI 2001 Workshop on Modelling and Solving problems with constraints (CONS-1) (2001)Google Scholar
- 12.Jussien, N., Barichard, V.: The PaLM system: explanation-based constraint programming. In: Proceedings of TRICS: Techniques foR Implementing Constraint programming Systems, a post-conference workshop of CP 2000, pp. 118–133 (2000)Google Scholar
- 16.Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: 39th Design Automation Conference (DAC 2001) (June 2001)Google Scholar
- 18.Somenzi, F.: CUDD: Colorado University Decision Diagram package. [Online, accessed May 31 2004] (2004), http://vlsi.colorado.edu/~fabio/CUDD/
- 23.Zhang, L., Madigan, C., Moskewicz, M., Malik, S.: Efficient conflict driven learning in a Boolean satisfiability solver. In: Proceedings of International Conference on Computer Design (ICCAD), pp. 279–285 (2001)Google Scholar