Iterative Flattening in
Cumulative Scheduling
Cumulative Scheduling Problem
• Set of Jobs
• Each job consists of a sequence of activities
• Each activity has– a duration – a machine on which it executes– a demand for the capacity of this machine
Cumulative Scheduling Problem
• Each machine has a capacity
• Precedence constraint between activities of a single job
• objective: – satisfy all constraints– finish all the jobs as soon as possible
Problem Modeling
• Cumulative constraints – considered as soft constraints
• precedence constraints – considered as hard constraints
Iterative Flattening
• Iteratively– Iteratively FLATTEN
• Overcoming over-utilization
– RELAX• Trying to overcome under-utilization
• Return the schedule with the earliest finish time
Precedence Graph
• Nodes– the activities, a source and a sink
• Edges– precedence constraints between activities
Scheduling with Precedence Graphs
• The Makespan of an schedule translates to the length of the longest path of the graph
• Earliest start time of an activity– the length of the longest path from the source
to that node
• Latest start time of an activity– The makespan minus its earliest start time
• A precedence graph defines an schedule– assigns each activity to its earliest start time
Flattening and Relaxationin Precedence Graphs
• Add precedence to satisfy cumulative constraints– this flattens the graph
• Remove precedence to make the critical path shorter– This relaxes the graph
FLATTEN
• Choose the time with the maximum over-utilization
• Find minimal critical sets (MCS) of the activities running on that time for that machine(If you take one activity out of a MCS, over-
utilization will be removed)• Choose a pair of activities in each MCS with
the least impact on the makespan and introduce precedence between them
Critical Set
• A critical set of a given time for a given machine – A set of activities running on that time – sum of their demands exceeds the capacity of
the machine
• Minimal Critical Set is a critical set whose every proper subset is not a critical set
Maximum Flexibility
• In flattening– Choose a pair from the critical set with
smallest impact on the makespan– Introduce a precedence between them
• This pair has to have maximum flexibility– Latest start time of the second
minus earliest finish time of the first
RELAX trying to overcome under-utilization
Relaxation
• Considers each precedence constraint on the critical path that were introduced in some flattening step and removes each precedence with some probability
• Only removing edges on the longest path may reduce the length of the longest path
Limitations of Iterative Flattening
• There is a 10% gap between the quality of solutions found by IFLAT and best known solutions
• In the example below removing all critical arcs does not affect the early parts of the algorithm
Solution: Iterative Relaxation
• It packs the schedule and thus the profiles of each machine
• Changes the critical path, exposing bottlenecks that were previously unknown
• Relaxing arcs on a new critical path makes it possible to schedule some of the activities earlier
Experimental Results
• It usually takes about 100,000’s iterations
• It has been tested for scheduling as many as 900 activities
• It delivers solutions that are within 1% of the best available upper bounds in the average
References
• Cesta, A.; Oddi, A.; and Smith, S. F. 1999b. An iterative sampling procedure for resource constrained project scheduling with time windows. In IJCAI, 1022–1033.
• Michel, L., and Van Hentenryck, P. 2004. Iterative Relaxations for Iterative Flattening in Cumulative Scheduling. In ICAPS