Maintaining state in propagation solvers

  • Authors:
  • Raphael M. Reischuk;Christian Schulte;Peter J. Stuckey;Guido Tack

  • Affiliations:
  • IS&C, Saarland University, Saarbrüücken, Germany;KTH-Royal Institute of Technology, Sweden;National ICT Australia, Victoria Laboratory, Department of Computer Science and Software Engineering, University of Melbourne, Australia;PS Lab, Saarland University, Saarbrücken, Germany

  • 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

Constraint propagation solvers interleave propagation, removing impossible values from variable domains, with search. The solver state is modified during propagation. But search requires the solver to return to a previous state. Hence a propagation solver must determine how to maintain state during propagation and forward and backward search. This paper sets out the possible ways in which a propagation solver can choose to maintain state, and the restrictions that such choices place on the resulting system. Experiments illustrate the result of various choices for the three principle state components of a solver: variables, propagators, and dependencies between them. This paper also provides the first realistic comparison of trailing versus copying for state restoration.