A Generalized Arc-Consistency Algorithm for a Class of Counting Constraints: Revised Edition that Incorporates One Correction

Reading time: 5 minute
...

📝 Original Info

  • Title: A Generalized Arc-Consistency Algorithm for a Class of Counting Constraints: Revised Edition that Incorporates One Correction
  • ArXiv ID: 1110.4719
  • Date: 2010-06-01
  • Authors: : Pesant, R., Beldiceanu, N., Cosytec, Inc. , Bessière, C.

📝 Abstract

This paper introduces the SEQ BIN meta-constraint with a polytime algorithm achieving general- ized arc-consistency according to some properties. SEQ BIN can be used for encoding counting con- straints such as CHANGE, SMOOTH or INCREAS- ING NVALUE. For some of these constraints and some of their variants GAC can be enforced with a time and space complexity linear in the sum of domain sizes, which improves or equals the best known results of the literature.

💡 Deep Analysis

Figure 1

📄 Full Content

Many constraints are such that a counting variable is equal to the number of times a given property is satisfied in a sequence of variables. To represent some of these constraints in a generic way, we introduce the SEQ BIN(N, X, C, B) metaconstraint, where N is an integer variable, X is a sequence of integer variables and C and B are two binary constraints.

Based on the notion C-stretch, a generalization of stretch [Pesant, 2001] where the equality constraint is made explicit and is replaced by C, SEQ BIN holds if and only if two conditions are both satisfied: (1) N is equal to the number of C-stretches in the sequence X, and (2) B holds on any pair of consecutive variables in X.

Among the constraints that can be expressed thanks to SEQ BIN, many were introduced for solving real-world problems, e.g., CHANGE [Cosytec, 1997] (time tabling problems), SMOOTH [Beldiceanu et al., 2010a] (time tabling and scheduling), or INCREASING NVALUE [Beldiceanu et al., 2010b] (symmetry breaking for resource allocation problems).

The main contribution of this paper is a generic polytime filtering algorithm for SEQ BIN, which achieves generalized arc-consistency (GAC) according to some conditions on B and C. This algorithm can be seen as a generalization of the INCREASING NVALUE filtering algorithm [Beldiceanu et al., 2010b]. Given n the size of X, d the maximum domain size, and Σ Di the sum of domain sizes, we characterize properties on C and B which lead to a time and space complexity in O(Σ Di ). These properties are satisfied when SEQ BIN represents INCREASING NVALUE, and several variants of CHANGE (provided its parameter is a monotonic binary constraint, e.g., ‘≤’, ‘<’, ‘≥’, ‘>’). For these constraints, our technique improves or equals the best known results.

Section 2 provides the definitions used in this paper. Section 3 defines SEQ BIN and shows how to express well-known constraints with SEQ BIN. Section 4 provides a necessary and sufficient condition for achieving GAC. Section 5 details the corresponding GAC filtering algorithm. Finally, Section 6 discusses about related works and Section 7 concludes.

A Constraint Network is defined by a sequence of variables X = [x 0 , x 1 , . . . , x n-1 ], a sequence of domains D, where each D(x i ) ∈ D is the finite set of values that variable x i can take, and a set of constraints C that specifies the allowed combinations of values for given subsets of variables. min(x) (resp. max(x)) is the minimum (resp. maximum) value of D(x). A sequence of variables X ′ = [x i , x i+1 , . . . , x j ], 0 ≤ i ≤ j ≤ n-1 (resp. i > 0 or i < n-1), is a subsequence (resp. a strict subsequence) of X and is denoted by X ′ ⊆ X (resp. X ′ ⊂ X). A[X] denotes an assignment of values to variables in X. Given x ∈ X, A[x] is the value of x in A[X]. A[X] is valid if and only if ∀x i ∈ X, A[x i ] ∈ D(x i ). An instantiation I[X] is a valid assignment of X. Given x ∈ X, I[x] is the value of x in I[X]. Given the sequence X and i, j two integers such that 0

) then the set of supports such that x i = v can be considered as a set of values (a subset of D(x i+1 )). A solution of a constraint network is an instantiation of all the variables satisfying all the constraints.

Value

A constraint network is GAC if and only if it is closed for GAC [Bessière, 2006]: ∀x i ∈ X all values in D(x i ) that are not GAC with respect to a constraint in C have been removed.

We first generalize the notion of stretches [Pesant, 2001] to characterize a sequence of consecutive variables where the same binary constraint is satisfied.

Definition 1 (C-stretch). Let I[X] be an instantiation of the variable sequence X = [x 0 , x 1 , . . . , x n-1 ] and C a binary constraint. The C-sequence constraint C(I[X], C) holds if and only if:

• Either n = 1,

is a subsequence X ′ ⊆ X such that the two following conditions are both satisfied:

The intuition behind Definition 1 is to consider the maximum length subsequences where the binary constraint C is satisfied between consecutive variables. Thanks to this generalized definition of stretches we can now introduce SEQ BIN. The constraint CHANGE was introduced in the context of timetabling problems [Cosytec, 1997], in order to put an upper limit on the number of changes of job types during a given period. The relation between classical stretches and CHANGE was initially stressed in [Hellsten, 2004, page 64]. CHANGE is defined on a variable N , a sequence of variables X = [x 0 , x 1 , . . . , x n-1 ], and a binary constraint C ∈ {=, = , <, >, ≤, ≥}. It is satisfied if and only if N is equal to the number of times the constraint C holds on consecutive variables of X. Without hindering propagation (the constraint network is Berge-acyclic), CHANGE can be reformulated as

where true is the universal constraint.

SMOOTH(N, X) is a variant of CHANGE(N, X, C), where

It is useful to limit the number of drastic variations on a cumulative profile [Beldiceanu et al., 2010a;De Clercq, 2010].

As a last

📸 Image Gallery

cover.png

Reference

This content is AI-processed based on open access ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut