iterative flattening in cumulative scheduling. cumulative scheduling problem set of jobs each job...

Post on 22-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related