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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Aggoun, A., Beldiceanu, N.: Time Stamps Techniques for the Trailed Data in Constraint Logic Programming Systems. In: Actes du Séminaire 1990 de programmation en Logique, pp. 487–509. CNET, Lannion (1990)
Apt, K.R., Wallace, M.: Constraint Logic Programming Using ECLiPSe. Cambridge University Press, Cambridge (2006)
Carlsson, M., Ottosson, G., Carlson, B.: An open-ended finite domain constraint solver. In: Glaser, H., Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 191–206. Springer, Heidelberg (1997)
CHOCO (2009), http://choco-solver.net
Choi, C.W., Henz, M., Ng, K.B.: Components for state restoration in tree search. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, pp. 240–255. Springer, Heidelberg (2001)
Gecode: generic constraint development environment (2009), http://www.gecode.org
Gent, I.P., Jefferson, C., Miguel, I.: Minion: A fast scalable constraint solver. In: Brewka, G., Coradeschi, S., Perini, A., Traverso, P. (eds.) European Conference on Artificial Intelligence, pp. 98–102. IOS Press, Amsterdam (2006)
Gent, I.P., Jefferson, C., Miguel, I.: Watched literals for constraint propagation in Minion. In: Benhamou, F. (ed.) CP 2006. LNCS, vol. 4204, pp. 182–197. Springer, Heidelberg (2006)
ILOG Solver, part of ILOG CP (2009), http://www.ilog.com/products/cp
JaCoP (2009), http://jacop.osolpro.com/
Michel, L., Van Hentenryck, P.: A decomposition-based implementation of search strategies. ACM Trans. Comput. Logic 5(2), 351–383 (2004)
Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: DAC 2001: Proceedings of the 38th conference on Design automation, pp. 530–535. ACM Press, New York (2001)
Perron, L.: Search procedures and parallelism in constraint programming. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 346–361. Springer, Heidelberg (1999)
Régin, J.-C.: A filtering algorithm for constraints of difference in CSPs. In: AAAI 1994: Proceedings of the Twelfth National Conference on Artificial intelligence, Menlo Park, CA, USA, vol. 1, pp. 362–367 (1994)
Schulte, C.: Comparing trailing and copying for constraint programming. In: Schreye, D.D. (ed.) Proceedings of the Sixteenth International Conference on Logic Programming, Las Cruces, NM, USA, pp. 275–289. MIT Press, Cambridge (1999)
Schulte, C.: Programming Constraint Services. LNCS (LNAI), vol. 2302. Springer, Heidelberg (2002)
Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. Transactions on Programming Languages and Systems 31(1), 2:1–2:43 (2008)
Schulte, C., Tack, G., Lagerkvist, M.Z.: Modeling with Gecode (2009), http://www.gecode.org/doc-latest/modeling.pdf
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reischuk, R.M., Schulte, C., Stuckey, P.J., Tack, G. (2009). Maintaining State in Propagation Solvers. In: Gent, I.P. (eds) Principles and Practice of Constraint Programming - CP 2009. CP 2009. Lecture Notes in Computer Science, vol 5732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04244-7_54
Download citation
DOI: https://doi.org/10.1007/978-3-642-04244-7_54
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04243-0
Online ISBN: 978-3-642-04244-7
eBook Packages: Computer ScienceComputer Science (R0)