skip to main content
research-article
Free Access

Efficient constraint propagation engines

Published:12 December 2008Publication History
Skip Abstract Section

Abstract

This article presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several propagators for the same constraint.

We show how idempotence reasoning and events help track fixpoints more accurately. We improve these methods by using them dynamically (taking into account current variable domains to improve accuracy). We define priority-based approaches to choosing a next propagator and show that dynamic priorities can improve propagation. We illustrate that the use of multiple propagators for the same constraint can be advantageous with priorities, and introduce staged propagators that combine the effects of multiple propagators with priorities for greater efficiency.

References

  1. Apt, K. 2003. Principles of Constraint Programming. Cambridge University Press, Cambridge, UK. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Baptiste, P., Le Pape, C., and Nuijten, W. 2001. Constraint-Based Scheduling. Kluwer Academic Publishers, Dordrecht, The Netherlands. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Beldiceanu, N., Harvey, W., Henz, M., Laburthe, F., Monfroy, E., Müller, T., Perron, L., and Schulte, C. 2000. In Proceedings of Techniques for Implementing Constraint Programming Systems (TRICS). Tech. rep. TRA9/00, School of Computing, National University of Singapore.Google ScholarGoogle Scholar
  4. Benhamou, F. 1996. Heterogeneous Constraint Solving. In Proceedings of the 5th International Conference on Algebraic and Logic Programming. Lecture Notes in Computer Science, vol. 1139. Springer-Verlag, 62--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Carlsson, M. and Beldiceanu, N. 2002. Revisiting the lexicographic ordering constraint. Tech. rep. T2002-17, Swedish Institute of Computer Science, Stockholm, Sweden.Google ScholarGoogle Scholar
  6. Carlsson, M., Ottosson, G., and Carlson, B. 1997. An open-ended finite domain constraint solver. In Proceedings of the 9th International Symposium on Programming Languages: Implementations, Logics, and Programs (PLILP'97). Lecture Notes in Computer Science, vol. 1292. Springer-Verlag, 191--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chamard, A., Fischler, A., Guinaudeau, D.-B., and Guillard, A. 1995. CHIC lessons on CLP methodology. Tech. rep., Dassault Aviation.Google ScholarGoogle Scholar
  8. Choi, C. W., Harvey, W., Lee, J. H.-M., and Stuckey, P. J. 2006. Finite domain bounds consistency revisited. In Proceedings of Advances in Artificial Intelligence (AI2006). Lecture Notes in Computer Science, vol. 4304. Springer-Verlag, 49--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Codognet, P. and Diaz, D. 1996. Compiling constraints in clp(FD). J. Logic Program. 27, 3, 185--226.Google ScholarGoogle ScholarCross RefCross Ref
  10. CSPLib. 2006. CSPLib: A problem library for constraints. http://www.csplib.org.Google ScholarGoogle Scholar
  11. Dudeney, H. E. 1958. Amusements in Mathematics. Dover, New York.Google ScholarGoogle Scholar
  12. Gecode Team. 2006. Gecode: Generic constraint development environment. http://www.gecode.org.Google ScholarGoogle Scholar
  13. Gent, I. P., Jefferson, C., and Miguel, I. 2006. Watched literals for constraint propagation in Minion. In Proceedings of the 12th International Conference on Principles and Practice of Constraint Programming, F. Benhamou, Ed. Lecture Notes in Computer Science, vol. 4204. Springer-Verlag, 182--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Granvilliers, L. and Monfroy, E. 2003. Implementing constraint propagation by composition of reductions. In Proceedings of the 19th International Conference on Logic Programming. Lecture Notes in Computer Science, vol. 2916. Springer-Verlag, 300--314.Google ScholarGoogle Scholar
  15. Harvey, W. 2004. Personal communication.Google ScholarGoogle Scholar
  16. Harvey, W. and Stuckey, P. J. 2003. Improving linear constraint propagation by changing constraint representation. Constraints 8, 2, 173--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. ILOG S.A. 2000. ILOG Solver 5.0: Reference Manual. Gentilly, France.Google ScholarGoogle Scholar
  18. Intelligent Systems Laboratory. 2004. SICStus Prolog user's manual, 3.11.1. Tech. rep., Swedish Institute of Computer Science, Box 1263, 164 29 Kista, Sweden.Google ScholarGoogle Scholar
  19. Laburthe, F. 2000. CHOCO: Implementing a CP kernel. In Proceedings of Techniques for Implementing Constraint Programming Systems (TRICS). 71--85.Google ScholarGoogle Scholar
  20. Lagerkvist, M. Z. and Schulte, C. 2007. Advisors for incremental propagation. In Proceedings of the 13th International Conference on Principles and Practice of Constraint Programming, C. Bessière, Ed. Lecture Notes in Computer Science. Springer-Verlag, 409--422. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lhomme, O., Gotlieb, A., and Rueher, M. 1998. Dynamic optimization of interval narrowing algorithms. J. Logic Program. 37, 1--3, 165--183.Google ScholarGoogle ScholarCross RefCross Ref
  22. Mackworth, A. K. 1977. Consistency in networks of relations. AI 8, 1, 99--118.Google ScholarGoogle Scholar
  23. Marriott, K. and Stuckey, P. J. 1998. Programming with Constraints: An Introduction. MIT Press, Cambridge, MA.Google ScholarGoogle ScholarCross RefCross Ref
  24. Mohr, R. and Henderson, T. C. 1986. Arc and path consistency revisited. AI 28, 225--233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mohr, R. and Masini, G. 1988. Good old discrete relaxation. In Proceedings of the 8th European Conference on Artificial Intelligence (ECAI'88), Y. Kodratoff, Ed. Pitmann Publishing, Munich, Germany, 651--656.Google ScholarGoogle Scholar
  26. Monfroy, E. 1990. Using “weaker” functions for constraint propagation over real numbers. In Proceedings of The 14th ACM Symposium on Applied Computing. ACM, 553--559. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L., and Malik, S. 2001. Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference, (DAC 2001). ACM, 530--535. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Mozart Consortium. 1999. The Mozart programming system. www.mozart-oz.org.Google ScholarGoogle Scholar
  29. Pesant, G. 2004. A regular language membership constraint for finite sequences of variables. In Proceedings of the 10th International Conference on Principles and Practice of Constraint Programming, M. Wallace, Ed. Lecture Notes in Computer Science, vol. 3258. Springer-Verlag, 482--495.Google ScholarGoogle Scholar
  30. Puget, J.-F. 1998. A fast algorithm for the bound consistency of alldiff constraints. In Proceedings of the 15th National Conference on Artificial Intelligence (AAAI'98). AAAI Press/MIT Press, 359--366. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Régin, J.-C. 1994. A filtering algorithm for constraints of difference in CSPs. In Proceedings of the 12th National Conference on Artificial Intelligence. Vol. 1. AAAI Press, 362--367. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Savéant, P. 2000. Constraint reduction at the type level. In Proceedings of Techniques for Implementing Constraint Programming Systems (TRICS). 16--29.Google ScholarGoogle Scholar
  33. Schulte, C. and Stuckey, P. J. 2004. Speeding up constraint propagation. In Proceedings of the 10th International Conference on Principles and Practice of Constraint Programming, M. Wallace, Ed. Lecture Notes in Computer Science, vol. 3258. Springer-Verlag, 619--633.Google ScholarGoogle Scholar
  34. Schulte, C. and Stuckey, P. J. 2005. When do bounds and domain propagation lead to the same search space? ACM Trans. Program. Lang. Syst. 27, 3, 388--425. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Van Hentenryck, P. 1999. The OPL Optimization Programming Language. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Van Hentenryck, P., Saraswat, V., and Deville, Y. 1991. Constraint processing in cc(FD). Draft.Google ScholarGoogle Scholar
  37. Van Hentenryck, P., Saraswat, V., and Deville, Y. 1998. Design, implementation and evaluation of the constraint language cc(FD). J. Logic Program. 37, 1--3, 139--164.Google ScholarGoogle ScholarCross RefCross Ref
  38. Van Hentenryck, P., Simonis, H., and Dincbas, M. 1992. Constraint satisfaction using constraint logic programming. Artif. Intel. 58, 113--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Wallace, M., Novello, S., and Schimpf, J. 1997. Eclipse: A platform for constraint logic programming. Tech. rep., IC-Parc, Imperial College, London, GB. Aug.Google ScholarGoogle Scholar
  40. Zhou, N.-F. 2006. Programming finite-domain constraint propagators in action rules. Theory Pract. Logic Program. 6, 5, 483--508. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Efficient constraint propagation engines

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!