21
Iterative Flattening in Cumulative Scheduling

Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has

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

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

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

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

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

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
Page 8: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has

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

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

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

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

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

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

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

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
Page 17: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has

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
Page 19: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has
Page 20: Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has

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

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