Sweep synchronization as a global propagation mechanism
This paper presents a new generic filtering algorithm which simultaneously considers n n conjunctions of constraints as well as those constraints mentioning some variables Yk Y k of the pairs X , Y k ( 1 ? k ? n ) occurring in these conjunctions. The main benefit of this new technique comes from the fact that, for adjusting the bounds of a variable X according to n conjunctions, we do not perform n sweeps in an independent way but rather synchronize them. We then specialize this technique to the non-overlapping rectangles constraint where we consider the case where several rectangles of height one have the same X coordinate for their origin as well as the same length. For this specific constraint we come up with an incremental bipartite matching algorithm which is triggered while we sweep over the time axis. We illustrate the usefulness of this new pruning method on a timetabling problem, where each task cannot be interrupted and requires the simultaneous availability of n distinct persons. In addition each person has his own periods of unavailability and can only perform one task at a time.
sweep filtering algorithm timetabling global constraint