Range and Roots: Two common patterns for specifying and propagating counting and occurrence constraints

We propose Range and Roots which are two common patterns useful for specifying a wide range of counting and occurrence constraints. We design specialised propagation algorithms for these two patterns. Counting and occurrence constraints specified using these patterns thus directly inherit a propagation algorithm. To illustrate the capabilities of the Range and Roots constraints, we specify a number of global constraints taken from the literature. Preliminary experiments demonstrate that propagating counting and occurrence constraints using these two patterns leads to a small loss in performance when compared to specialised global constraints and is competitive with alternative decompositions using elementary constraints.

[1]  Alexander Schrijver,et al.  Combinatorial optimization. Polyhedra and efficiency. , 2003 .

[2]  Jimmy Ho-Man Lee,et al.  Increasing Constraint Propagation by Redundant Modeling: an Experience Report , 1999, Constraints.

[3]  Michael J. Maher Analysis of a Global Contiguity Constraint , 2006 .

[4]  Christian Bessiere,et al.  Some Practicable Filtering Techniques for the Constraint Satisfaction Problem , 1997, IJCAI.

[5]  Patrick Prosser,et al.  An Empirical Study of Phase Transitions in Binary Constraint Satisfaction Problems , 1996, Artif. Intell..

[6]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[7]  Toby Walsh,et al.  Among, Common and Disjoint Constraints , 2005, CSCLP.

[8]  Toby Walsh,et al.  The ROOTS Constraint , 2006, CP.

[9]  François Pachet,et al.  Automatic Generation of Music Programs , 1999, CP.

[10]  Peter J. Stuckey,et al.  Speeding Up Constraint Propagation , 2004, CP.

[11]  Toby Walsh,et al.  The Tractability of Global Constraints , 2004, CP.

[12]  Pascal Van Hentenryck,et al.  The Cardinality Operator: A New Logical Connective for Constraint Logic Programming , 1990, WCLP.

[13]  Pascal Van Hentenryck,et al.  Generality versus Specificity: An Experience with AI and OR Techniques , 1988, AAAI.

[14]  Nicolas Beldiceanu,et al.  Global Constraints as Graph Properties on a Structured Network of Elementary Constraints of the Same Type , 2000, CP.

[15]  Toby Walsh,et al.  The Range Constraint: Algorithms and Implementation , 2006, CPAIOR.

[16]  Jean-Charles Régin The Symmetric Alldiff Constraint , 1999, IJCAI.

[17]  Toby Walsh,et al.  The Complexity of Reasoning with Global Constraints , 2007, Constraints.

[18]  Pascal Van Hentenryck,et al.  A Generic Arc-Consistency Algorithm and its Specializations , 1992, Artif. Intell..

[19]  François Laburhe CHOCO: implementing a CP kernel , 2007 .

[20]  Toby Walsh,et al.  The Range and Roots Constraints: Specifying Counting and Occurrence Problems , 2005, IJCAI.

[21]  Nicolas Beldiceanu,et al.  Introducing global constraints in CHIP , 1994 .

[22]  Jean-Charles Régin,et al.  Generalized Arc Consistency for Global Cardinality Constraint , 1996, AAAI/IAAI, Vol. 1.

[23]  Toby Walsh,et al.  Modelling a Balanced Academic Curriculum Problem , 2002 .

[24]  Jean-Charles Régin,et al.  Open Constraints in a Closed World , 2006, CPAIOR.

[25]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[26]  Ravindra K. Ahuja,et al.  Network Flows , 2011 .

[27]  Nicolas Beldiceanu Pruning for the Minimum Constraint Family and for the Number of Distinct Values Constraint Family , 2001, CP.

[28]  Peter van Beek,et al.  Improved Algorithms for the Global Cardinality Constraint , 2004, CP.

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

[30]  Toby Walsh,et al.  Filtering Algorithms for the NValue Constraint , 2006, Constraints.

[31]  Toby Walsh,et al.  The Complexity of Global Constraints , 2004, AAAI.

[32]  Toby Walsh,et al.  The Range and Roots constraints: some applications , 2006 .

[33]  Nicolas Beldiceanu,et al.  Filtering algorithms for the Same and UsedBy constraints , 2004 .