Cost-Filtering Algorithms for the two Sides of the Sum of Weights of Distinct Values Constraint

This article introduces the sum of weights of distinct values constraint, which can be seen as a generalization of the number of distinct values as well as of the alldifferent, and the relaxed alldifferent constraints. This constraint holds if a cost variable is equal to the sum of the weights associated to the distinct values taken by a given set of variables. For the first aspect, which is related to domination, we present four filtering algorithms. Two of them lead to perfect pruning when each domain variable consists of one set of consecutive values, while the two others take advantage of holes in the domains. For the second aspect, which is connected to maximum matching in a bipartite graph, we provide a complete filtering algorithm for the general case. Finally we introduce several generic deduction rules, which link both aspects of the constraint. These rules can be applied to other optimization constraints such as the minimum weight alldifferent constraint or the global cardinality constraint with costs. They also allow taking into account external constraints for getting enhanced bounds for the cost variable. In practice, the sum of weights of distinct values constraint occurs in assignment problems where using a resource once or several times costs the same. It also captures domination problems where one has to select a set of vertices in order to control every vertex of a graph.

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

[2]  Peter J. Slater,et al.  Fundamentals of domination in graphs , 1998, Pure and applied mathematics.

[3]  Jean-Charles Régin,et al.  Arc Consistency for Global Cardinality Constraints with Costs , 1999, CP.

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

[5]  François Laburthe,et al.  Solving Various Weighted Matching Problems with Constraints , 1997, Constraints.

[6]  János Komlós,et al.  Storing a sparse table with O(1) worst case access time , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[7]  János Komlós,et al.  Storing a sparse table with O(1) worst case access time , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[8]  Philippe Baptiste,et al.  Global Constraints for Partial CSPs: A Case-Study of Resource and Due Date Constraints , 1998, CP.

[9]  Jean-Louis Laurière,et al.  A Language and a Program for Stating and Solving Combinatorial Problems , 1978, Artif. Intell..

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

[11]  François Laburthe,et al.  Solving Small TSPs with Constraints , 1997, ICLP.

[12]  Joxan Jaffar,et al.  Principles and Practice of Constraint Programming – CP’99 , 1999, Lecture Notes in Computer Science.

[13]  Christian Bessiere,et al.  Specific Filtering Algorithms for Over-Constrained Problems , 2001, CP.

[14]  Pascal Van Hentenryck The OPL optimization programming language , 1999 .

[15]  Meinolf Sellmann An Arc-Consistency Algorithm for the Minimum Weight All Different Constraint , 2002, CP.

[16]  Torsten Fahle Cost Based Filtering vs. Upper Bounds for Maximum Clique , 2002 .

[17]  Andrea Lodi,et al.  Cost-Based Domain Filtering , 1999, CP.