Propagation via lazy clause generation

Olga Ohrimenko, Peter J. Stuckey, Michael Codish

Research output: Contribution to journalArticlepeer-review

183 Scopus citations


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
StatePublished - 1 Sep 2009


  • Boolean variables
  • Finite domain propagation
  • SAT solver

ASJC Scopus subject areas

  • Software
  • Discrete Mathematics and Combinatorics
  • Computational Theory and Mathematics
  • Artificial Intelligence


Dive into the research topics of 'Propagation via lazy clause generation'. Together they form a unique fingerprint.

Cite this