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.
- Apt, K. 2003. Principles of Constraint Programming. Cambridge University Press, Cambridge, UK. Google Scholar
Digital Library
- Baptiste, P., Le Pape, C., and Nuijten, W. 2001. Constraint-Based Scheduling. Kluwer Academic Publishers, Dordrecht, The Netherlands. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Carlsson, M. and Beldiceanu, N. 2002. Revisiting the lexicographic ordering constraint. Tech. rep. T2002-17, Swedish Institute of Computer Science, Stockholm, Sweden.Google Scholar
- 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 Scholar
Digital Library
- Chamard, A., Fischler, A., Guinaudeau, D.-B., and Guillard, A. 1995. CHIC lessons on CLP methodology. Tech. rep., Dassault Aviation.Google Scholar
- 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 Scholar
Digital Library
- Codognet, P. and Diaz, D. 1996. Compiling constraints in clp(FD). J. Logic Program. 27, 3, 185--226.Google Scholar
Cross Ref
- CSPLib. 2006. CSPLib: A problem library for constraints. http://www.csplib.org.Google Scholar
- Dudeney, H. E. 1958. Amusements in Mathematics. Dover, New York.Google Scholar
- Gecode Team. 2006. Gecode: Generic constraint development environment. http://www.gecode.org.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Harvey, W. 2004. Personal communication.Google Scholar
- Harvey, W. and Stuckey, P. J. 2003. Improving linear constraint propagation by changing constraint representation. Constraints 8, 2, 173--207. Google Scholar
Digital Library
- ILOG S.A. 2000. ILOG Solver 5.0: Reference Manual. Gentilly, France.Google Scholar
- 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 Scholar
- Laburthe, F. 2000. CHOCO: Implementing a CP kernel. In Proceedings of Techniques for Implementing Constraint Programming Systems (TRICS). 71--85.Google Scholar
- 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 Scholar
Digital Library
- Lhomme, O., Gotlieb, A., and Rueher, M. 1998. Dynamic optimization of interval narrowing algorithms. J. Logic Program. 37, 1--3, 165--183.Google Scholar
Cross Ref
- Mackworth, A. K. 1977. Consistency in networks of relations. AI 8, 1, 99--118.Google Scholar
- Marriott, K. and Stuckey, P. J. 1998. Programming with Constraints: An Introduction. MIT Press, Cambridge, MA.Google Scholar
Cross Ref
- Mohr, R. and Henderson, T. C. 1986. Arc and path consistency revisited. AI 28, 225--233. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Mozart Consortium. 1999. The Mozart programming system. www.mozart-oz.org.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Savéant, P. 2000. Constraint reduction at the type level. In Proceedings of Techniques for Implementing Constraint Programming Systems (TRICS). 16--29.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- Van Hentenryck, P. 1999. The OPL Optimization Programming Language. MIT Press, Cambridge, MA. Google Scholar
Digital Library
- Van Hentenryck, P., Saraswat, V., and Deville, Y. 1991. Constraint processing in cc(FD). Draft.Google Scholar
- 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 Scholar
Cross Ref
- Van Hentenryck, P., Simonis, H., and Dincbas, M. 1992. Constraint satisfaction using constraint logic programming. Artif. Intel. 58, 113--159. Google Scholar
Digital Library
- 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 Scholar
- Zhou, N.-F. 2006. Programming finite-domain constraint propagators in action rules. Theory Pract. Logic Program. 6, 5, 483--508. Google Scholar
Digital Library
Index Terms
Efficient constraint propagation engines
Recommendations
Constraint Propagation for First-Order Logic and Inductive Definitions
In Constraint Programming, constraint propagation is a basic component of constraint satisfaction solvers. Here we study constraint propagation as a basic form of inference in the context of first-order logic (FO) and extensions with inductive ...
Dynamic variable elimination during propagation solving
PPDP '08: Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programmingConstraint propagation solvers interleave propagation (removing impossible values from variables domains) with search. Propagation is performed by executing propagators (removing values) implementing constraints (defining impossible values). In order to ...
When do bounds and domain propagation lead to the same search space
PPDP '01: Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programmingThis paper explores the question of when two propagation-based constraint systems have the same behaviour, in terms of search space. We categorise the behaviour of domain and bounds propagators for primitive constraints, and provide theorems that allow ...






Comments