|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
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.
|
| |
4
|
|
| |
5
|
Carlsson, M. and Beldiceanu, N. 2002. Revisiting the lexicographic ordering constraint. Tech. rep. T2002-17, Swedish Institute of Computer Science, Stockholm, Sweden.
|
| |
6
|
|
| |
7
|
Chamard, A., Fischler, A., Guinaudeau, D.-B., and Guillard, A. 1995. CHIC lessons on CLP methodology. Tech. rep., Dassault Aviation.
|
| |
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.
|
| |
9
|
Codognet, P. and Diaz, D. 1996. Compiling constraints in clp(FD). J. Logic Program. 27, 3, 185--226.
|
| |
10
|
CSPLib. 2006. CSPLib: A problem library for constraints. http://www.csplib.org.
|
| |
11
|
Dudeney, H. E. 1958. Amusements in Mathematics. Dover, New York.
|
| |
12
|
Gecode Team. 2006. Gecode: Generic constraint development environment. http://www.gecode.org.
|
| |
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.
|
| |
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.
|
| |
15
|
Harvey, W. 2004. Personal communication.
|
| |
16
|
|
| |
17
|
ILOG S.A. 2000. ILOG Solver 5.0: Reference Manual. Gentilly, France.
|
| |
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.
|
| |
19
|
Laburthe, F. 2000. CHOCO: Implementing a CP kernel. In Proceedings of Techniques for Implementing Constraint Programming Systems (TRICS). 71--85.
|
| |
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.
|
| |
21
|
Lhomme, O., Gotlieb, A., and Rueher, M. 1998. Dynamic optimization of interval narrowing algorithms. J. Logic Program. 37, 1--3, 165--183.
|
| |
22
|
Mackworth, A. K. 1977. Consistency in networks of relations. AI 8, 1, 99--118.
|
| |
23
|
Marriott, K. and Stuckey, P. J. 1998. Programming with Constraints: An Introduction. MIT Press, Cambridge, MA.
|
| |
24
|
|
| |
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.
|
 |
26
|
|
 |
27
|
Matthew W. Moskewicz , Conor F. Madigan , Ying Zhao , Lintao Zhang , Sharad Malik, Chaff: engineering an efficient SAT solver, Proceedings of the 38th conference on Design automation, p.530-535, June 2001, Las Vegas, Nevada, United States
[doi> 10.1145/378239.379017]
|
| |
28
|
Mozart Consortium. 1999. The Mozart programming system. www.mozart-oz.org.
|
| |
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.
|
| |
30
|
|
| |
31
|
|
| |
32
|
Savéant, P. 2000. Constraint reduction at the type level. In Proceedings of Techniques for Implementing Constraint Programming Systems (TRICS). 16--29.
|
| |
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.
|
 |
34
|
|
| |
35
|
|
| |
36
|
Van Hentenryck, P., Saraswat, V., and Deville, Y. 1991. Constraint processing in cc(FD). Draft.
|
| |
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.
|
| |
38
|
|
| |
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.
|
| |
40
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.3
Language Constructs and Features
Subjects:
Constraints
Additional Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
Subjects:
Constraint and logic languages
I.
Computing Methodologies
I.2
ARTIFICIAL INTELLIGENCE
I.2.3
Deduction and Theorem Proving
Subjects:
Inference engines
I.2.8
Problem Solving, Control Methods, and Search
Subjects:
Scheduling
General Terms:
Design,
Experimentation,
Languages,
Performance
Keywords:
Constraint (logic) programming,
constraint propagation,
events,
finite domain constraints,
fixpoint reasoning,
priorities
|