A Hybrid BDD and SAT Finite Domain Constraint Solver

  • Peter Hawkins
  • Peter J. Stuckey
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3819)


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.

Unable to display preview. Download preview PDF.


  1. 1.
    Apt, K., Monfroy, E.: Constraint programming viewed as rule-based programming. TPLP 1(6), 713–750 (2001)MATHMathSciNetGoogle Scholar
  2. 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. 3.
    Bryant, R.E.: Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992) ISSN 0360-0300Google Scholar
  4. 4.
    Choi, C., Lee, J., Stuckey, P.J.: Propagation redundancy in redundant modelling. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 229–243. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Damiano, R., Kukula, J.: Checking satisfiability of a conjunction of BDDs. In: Proceedings of DAC 2003, pp. 818–823. ACM Press, New York (2003)CrossRefGoogle Scholar
  6. 6.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Communications of the ACM 5, 394–397 (1962)MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Dechter, R.: Constraint Processing. Morgan Kaufmann, San Francisco (2003)Google Scholar
  8. 8.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
  10. 10.
    Hawkins, P., Lagoon, V., Stuckey, P.J.: Solving set constraint satisfaction problems using ROBDDs. Journal of Artificial Intelligence Research 24, 109–156 (2005)MATHCrossRefGoogle Scholar
  11. 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. 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
  13. 13.
    Jussien, N., Debruyne, R., Boizumault, P.: Maintaining arc-consistency within dynamic backtracking. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894, pp. 249–261. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  14. 14.
    Katsirelos, G., Bacchus, F.: Unrestricted nogood recording in CSP search. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 873–877. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Marriott, K., Stuckey, P.J.: Programming with Constraints: an Introduction. The MIT Press, Cambridge (1998)MATHGoogle Scholar
  16. 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
  17. 17.
    Prosser, P.: Hybrid algorithms for the constraint satisfaction search. Computational Intelligence 9(3), 268–299 (1993)CrossRefGoogle Scholar
  18. 18.
    Somenzi, F.: CUDD: Colorado University Decision Diagram package. [Online, accessed May 31 2004] (2004), http://vlsi.colorado.edu/~fabio/CUDD/
  19. 19.
    Somogyi, Z., Henderson, F., Conway, T.: The execution algorithm of Mercury, an efficient purely declarative logic programming language. Journal of Logic Programming 29(1–3), 17–64 (1996)MATHCrossRefGoogle Scholar
  20. 20.
    Thiffault, C., Bacchus, F., Walsh, T.: Solving non-clausal formulas with DPLL search. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 663–678. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Walsh, T.: SAT vs CSP. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894, pp. 441–456. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  22. 22.
    Zhang, L., Malik, S.: The quest for efficient Boolean satisfiability solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 17–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Peter Hawkins
    • 1
  • Peter J. Stuckey
    • 1
  1. 1.NICTA Victoria Laboratory, Department of Computer Science and Software EngineeringThe University of MelbourneAustralia

Personalised recommendations