210 likes | 307 Views
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.
E N D
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 pathof 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
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