EN FR
EN FR


Section: New Results

Scalable Resource Scheduling Constraints

Participants : Nicolas Beldiceanu, Mats Carlsson, Arnaud Letort.

Following up on our work on scalable placement constraints for rectangle and box packing, and initially motivated by multidimensional bin packing problems that arise in the context of data centers, we have focussed this year our work on scalable resource scheduling constraints.

First we came up with a sweep based algorithm for the cumulative constraint, which can operate in filtering mode as well as in greedy assignment mode. Given n tasks, this algorithm has a worst-case time complexity of O(n 2 ). In practice, we use a variant with better average-case complexity but worst-case complexity of O(n 2 logn), which goes down to O(nlogn) when all tasks have unit duration, i.e. in the bin-packing case. Despite its worst-case time complexity, this algorithm scales well in practice, even when a significant number of tasks can be scheduled in parallel. It handles up to 1 million tasks in one single cumulative constraint in both CHOCO and SICStus .

Second we generalize the previous sweep algorithm to directly handle multiple resources. Given n tasks and k resources, this algorithm has a worst-case time complexity of O(k·n 2 ) but scales well in practice. In greedy assignment mode, it handles up to 1 million tasks with 64 resources in one single constraint. In filtering mode, on our benchmarks, it yields a speed-up of about k 0.75 when compared to its decomposition into k independent cumulative constraints.

A first paper A Scalable Sweep Algorithm for the cumulative Constraint [24] was published at the 18th International Conference on Principles and Practice of Constraint Programming (CP 2012 ). A second paper A Synchronized Sweep Algorithm for the k-dimensional cumulative Constraint was accepted for publication at the 10th International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR 2013 ).