an:06974972
Zbl 1457.90067
Fahimi, Hamed; Ouellet, Yanick; Quimper, Claude-Guy
Linear-time filtering algorithms for the disjunctive constraint and a quadratic filtering algorithm for the cumulative not-first not-last
EN
Constraints 23, No. 3, 272-293 (2018).
00406687
2018
j
90B35 68T20
scheduling; global constraint; filtering algorithms; disjunctive; cumulative; data structure
Summary: We present new filtering algorithms for \textsc{Disjunctive} and \textsc{Cumulative} constraints, each of which improves the complexity of the state-of-the-art algorithms by a factor of \(\log n\). We show how to perform Time-Tabling and Detectable Precedences in linear time on the \textsc{Disjunctive} constraint. Furthermore, we present a linear-time Overload Checking for the \textsc{Disjunctive} and \textsc{Cumulative} constraints. Finally, we show how the rule of Not-first/Not-last can be enforced in quadratic time for the \textsc{Cumulative} constraint. These algorithms rely on the union find data structure, from which we take advantage to introduce a new data structure that we call it time line. This data structure provides constant time operations that were previously implemented in logarithmic time by the \(\Theta\)-tree data structure. Experiments show that these new algorithms are competitive even for a small number of tasks and outperform existing algorithms as the number of tasks increases. We also show
that the time line can be used to solve specific scheduling problems.