Speeding Up Constraint Propagation

This paper presents a model and implementation techniques for speeding up constraint propagation. Two fundamental approaches to improving constraint propagation are explored: keeping track of which propagators are at fixpoint, and choosing which propagator to apply next. We show how idempotence reasoning and events help track fixpoints more accurately. We improve these methods by using them dynamically (taking into account current 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 which combine the effects of multiple propagators with priorities for greater efficiency.

[1]  Peter J. Stuckey,et al.  Constraint Representation for Propagation , 1998, CP.

[2]  Arnaud Gotlieb,et al.  Dynamic Optimization of Interval Narrowing Algorithms , 1998, J. Log. Program..

[3]  Principles and Practice of Constraint Programming — CP98 , 1999, Lecture Notes in Computer Science.

[4]  Eugene C. Freuder,et al.  Ordering Heuristics for Arc Consistency Algorithms , 1992 .

[5]  Pierre Saveant Constraint Reduction at the Type Level , 2000 .

[6]  Eric Monfroy,et al.  Implementing Constraint Propagation by Composition of Reductions , 2003, ICLP.

[7]  Markus P. J. Fromherz,et al.  Constraint-based scheduling , 2001, Proceedings of the 2001 American Control Conference. (Cat. No.01CH37148).

[8]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[9]  Jean-Charles Régin,et al.  A Filtering Algorithm for Constraints of Difference in CSPs , 1994, AAAI.

[10]  Pieter H. Hartel,et al.  Programming Languages: Implementations, Logics, and Programs , 1996, Lecture Notes in Computer Science.

[11]  Jean-François Puget,et al.  A Fast Algorithm for the Bound Consistency of alldiff Constraints , 1998, AAAI/IAAI.

[12]  Joachim Schimpf,et al.  ECLiPSe: A Platform for Constraint Logic Programming , 1997 .

[13]  Pascal Van Hentenryck,et al.  Constraint Satisfaction Using Constraint Logic Programming , 1992, Artif. Intell..

[14]  Krzysztof R. Apt,et al.  Principles of constraint programming , 2003 .

[15]  Edward P. K. Tsang,et al.  Constraint Based Scheduling: Applying Constraint Programming to Scheduling Problems , 2003, J. Sched..

[16]  Pascal Van Hentenryck,et al.  Design, Implementation, and Evaluation of the Constraint Language cc(FD) , 1994, Constraint Programming.

[17]  Philippe Codognet,et al.  Compiling Constraints in clp(FD) , 1996, J. Log. Program..

[18]  Mats Carlsson,et al.  An Open-Ended Finite Domain Constraint Solver , 1997, PLILP.