Table of Contents
4.2. Scheduling to Minimize Lateness: An Exchange Argument
The Problem
- We have a single resource and a set of n requests to use the resource
- The resource has a deadline d i and requires a contiguous interval of time t i
- Each request is flexible: It can be scheduled at any time before its deadline.
- Each accepted request is assigned an interval of length t i , and different requests are assigned nonoverlapping intervals
- Let S = the overall start time
- Each request i is assigned an interval of time of length t i = [ S(i), fi)], where f(i) = S(i)+ t(i)
- The algorithm must always determine the start time
- Lateness, l i = f(i) - d(i))
- l i = 0 if the request i is not late
- A request is late if it misses the deadline –>f(i)> d i
–> Goal of the algorithm: Minimize the maximum lateness, L = maxi l i by scheduling all requests using nonoverlapping intervals.
Designing the algorithm
- After quite a bit of analysis, we find that the optimal solution to this problem is using a method called Earliest Deadline First:sort the jobs in increasing order of their deadlines d i and schedule them in this order.
- Thus jobs are scheduled in the order d1,d2,…,dn
- s = start time for all of the jobs
- f = finishing time of the last scheduled job
Algorithm
Order the jobs in order of their deadlines –> Takes O(nlogn) time
Assume d1 ≤ d2 ≤ d3,…,d n-1 ≤ dn
Initially f = s –> Takes O(1) time
Consider the jobs i= 1,2,…,n in this orderAssign job i to the time interval from s(i) = f to f(i) = f + ti
Let f = f + tiEnd
Return the set of scheduled intervals [s(i),f(i)] for i = 1,2,…,n
Algorithm Analysis
- Exchange Argument: Gradually modifying an optimal schedule,conserving its optimality at each step, but eventually transforming it into a schedule similar to the schedule given by the greedy algorithm to prove the optimality of the latter.
- There is an inversion if a job i with deadline di is scheduled before another job j with deadline dj
- The greedy algorithm has no idle time and by definition,no inversions. There is an optimal schedule with no idle time.
- All schedules with no inversions and no idle time have the same maximum lateness.
- There is an optimal schedule that has no inversions and no idle time.
- As a consequence, the schedule produced by the greedy algorithm has optimal maximum lateness
–> For proofs of the above claims,see the book of the course
I give this section an 8/10 for being brief and concise in its explanation of the material.