Propagation via lazy clause generation

Olga Ohrimenko, Peter J. Stuckey, Michael Codish

Research output: Contribution to journalArticleResearchpeer-review

198 Citations (Scopus)


Finite domain propagation solvers effectively represent the possible values of variables by a set of choices which can be naturally modelled as Boolean variables. In this paper we describe how to mimic a finite domain propagation engine, by mapping propagators into clauses in a SAT solver. This immediately results in strong nogoods for finite domain propagation. But a naive static translation is impractical except in limited cases. We show how to convert propagators to lazy clause generators for a SAT solver. The resulting system introduces flexibility in modelling since variables are modelled dually in the propagation engine and the SAT solver, and we explore various approaches to the dual modelling. We show that the resulting system solves many finite domain problems significantly faster than other techniques.

Original languageEnglish
Pages (from-to)357-391
Number of pages35
Issue number3
Publication statusPublished - 1 Sept 2009
Externally publishedYes


  • Boolean variables
  • Finite domain propagation
  • SAT solver

Cite this