iterative flattening in cumulative scheduling. cumulative scheduling problem set of jobs each job...
Post on 22-Dec-2015
219 views
TRANSCRIPT
![Page 1: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/1.jpg)
Iterative Flattening in
Cumulative Scheduling
![Page 2: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/2.jpg)
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
![Page 3: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/3.jpg)
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
![Page 4: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/4.jpg)
Problem Modeling
• Cumulative constraints – considered as soft constraints
• precedence constraints – considered as hard constraints
![Page 5: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/5.jpg)
Iterative Flattening
• Iteratively– Iteratively FLATTEN
• Overcoming over-utilization
– RELAX• Trying to overcome under-utilization
• Return the schedule with the earliest finish time
![Page 6: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/6.jpg)
Precedence Graph
• Nodes– the activities, a source and a sink
• Edges– precedence constraints between activities
![Page 7: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/7.jpg)
![Page 8: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/8.jpg)
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
![Page 9: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/9.jpg)
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
![Page 10: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/10.jpg)
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
![Page 11: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/11.jpg)
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
![Page 12: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/12.jpg)
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
![Page 13: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/13.jpg)
RELAX trying to overcome under-utilization
![Page 14: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/14.jpg)
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
![Page 15: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/15.jpg)
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
![Page 16: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/16.jpg)
![Page 17: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/17.jpg)
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
![Page 18: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/18.jpg)
![Page 19: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/19.jpg)
![Page 20: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/20.jpg)
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
![Page 21: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d805503460f94a6453a/html5/thumbnails/21.jpg)
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