Hartert, Renaud
[UCL]
Gay, Steven
[UCL]
Schaus, Pierre
[UCL]
Scheduling has been a successful domain of application for constraint programming since its beginnings. The cumulative constraint – which enforces the usage of a limited resource by several tasks – is one of the core components that are surely responsible of this success. Unfortunately, ensuring bound-consistency for the cumulative constraint is already NP-Hard. Therefore, several relaxations were proposed to reduce domains in polynomial time such as Time-Tabling, Edge-Finding, Energetic Reasoning, and Not-First-Not-Last. Recently, Vilim introduced the Time-Table Edge-Finding reasoning which strengthens Edge-Finding by considering the time-table of the resource. We pursue the idea of exploiting the time-table to detect disjunctive pairs of tasks dynamically during the search. This new type of filtering – which we call time-table disjunctive reasoning – is not dominated by existing filtering rules. We propose a simple algorithm that implements this filtering rule with a (n2) time complexity (where n is the number of tasks) without relying on complex data structures. Our results on well known benchmarks highlight that using this new algorithm can substantially improve the solving process for some instances and only adds a marginally low computation overhead for the other ones.
Bibliographic reference |
Hartert, Renaud ; Gay, Steven ; Schaus, Pierre. Time-Table Disjunctive Reasoning for the Cumulative Constraint.Integration of AI and OR Techniques in Constraint Programming (Barcelona). In: Lecture Notes in Computer Science, 2015 |
Permanent URL |
http://hdl.handle.net/2078.1/171185 |