Lazy clause generation reengineered

  • Authors:
  • Thibaut Feydy;Peter J. Stuckey

  • Affiliations:
  • National ICT Australia, Victoria Laboratory, Department of Computer Science and Software Engineering, The University of Melbourne, Australia;National ICT Australia, Victoria Laboratory, Department of Computer Science and Software Engineering, The University of Melbourne, Australia

  • Venue:
  • CP'09 Proceedings of the 15th international conference on Principles and practice of constraint programming
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Lazy clause generation is a powerful hybrid approach to combinatorial optimization that combines features from SAT solving and finite domain (FD) propagation. In lazy clause generation finite domain propagators are considered as clause generators that create a SAT description of their behaviour for a SAT solver. The ability of the SAT solver to explain and record failure and perform conflict directed backjumping are then applicable to FD problems. The original implementation of lazy clause generation was constructed as a cut down finite domain propagation engine inside a SAT solver. In this paper we show how to engineer a lazy clause generation solver by embedding a SAT solver inside an FD solver. The resulting solver is flexible, efficient and easy to use. We give experiments illustrating the effect of different design choices in engineering the solver.