Gay, Steven
[UCL]
Hartert, Renaud
[UCL]
Schaus, Pierre
[UCL]
Cumulative is an essential constraint in the CP framework, and is present in scheduling and packing applications. The lightest filtering for the cumulative constraint is time-tabling. It has been improved several times over the last decade. The best known theoretical time complexity for time-table is O(nlogn) introduced by Ouellet and Quimper. We show a new algorithm able to run in O(n), by relying on range min query algorithms. This approach is more of theoretical rather than practical interest, because of the generally larger number of iterations needed to reach the fixed point. On the practical side, the recent synchronized sweep algorithm of Letort et al, with a time-complexity of O(n^2), requires fewer iterations to reach the fix-point and is considered as the most scalable approach. Unfortunately this algorithm is not trivial to implement. In this work we present a O(n^2) simple two step alternative approach: first building the mandatory profile, then updating all the bounds of the activities. Our experimental results show that our algorithm outperforms synchronized sweep and the time-tabling implementations of other open-source solvers on large scale scheduling instances, sometimes significantly.
Bibliographic reference |
Gay, Steven ; Hartert, Renaud ; Schaus, Pierre. Simple and Scalable Time-Table Filtering for the Cumulative Constraint.Principles and Practice of Constraint Programming (Cork Ireland). In: Lecture Notes in Computer Science, 2015 |
Permanent URL |
http://hdl.handle.net/2078.1/171186 |