Constraint-Based Scheduling
Search Strategies for Rectangle Packing
CP '08 Proceedings of the 14th international conference on Principles and Practice of Constraint Programming
Edge Finding for Cumulative Scheduling
INFORMS Journal on Computing
Propagation via lazy clause generation
Constraints
Why cumulative decomposition is not as bad as it sounds
CP'09 Proceedings of the 15th international conference on Principles and practice of constraint programming
Edge finding filtering algorithm for discrete cumulative resources in O(kn log n)
CP'09 Proceedings of the 15th international conference on Principles and practice of constraint programming
Explaining the cumulative propagator
Constraints
Not-First and not-last detection for cumulative scheduling in O(n3 log n)
INAP'05 Proceedings of the 16th international conference on Applications of Declarative Programming and Knowledge Management
O(n log n) overload checking for the cumulative constraint and its application
INAP'05 Proceedings of the 16th international conference on Applications of Declarative Programming and Knowledge Management
A quadratic edge-finding filtering algorithm for cumulative resource constraints
CP'11 Proceedings of the 17th international conference on Principles and practice of constraint programming
On the complexity of global scheduling constraints under structural restrictions
IJCAI'13 Proceedings of the Twenty-Third international joint conference on Artificial Intelligence
Hi-index | 0.00 |
The recent success of the lazy clause generator (a hybrid of a FD and a SAT solver) on resource-constrained project scheduling problems (RCPSP) shows the importance of the global cumulative constraint to tackle these problems. A key for an efficient cumulative propagator is a fast and correct pruning of time-bounds. The not-first/not-last rule (which is not subsumed by other rules) detects activities that cannot be run at first/last regarding to an activity set and prunes their time bounds. This paper presents a new sound not-first/not-last pruning algorithm which runs in O(n2 log n), where n is the number of activities. It may not find the best adjustments in the first run, but after at most n iterations. This approach of iteration fits the setup of constraint propagation quite naturally offering the opportunity that a fixed point is reached more efficiently. Moreover, it uses a novel approach of generation of some "artificial" activities in the context of triggering pruning rules correctly. In experiments on RCPSP amongst others from the well-established PSPLib we show that the algorithm runs negligible more often than a complete algorithm while taking its advantage from the lower - to the best of our knowledge the lowest known - runtime complexity.