1 Tardiness Models Contents 1. Moor’s algorithm which gives an optimal schedule with the minimum number of tardy jobs 1 || U j 2. An algorithm which gives an optimal schedule with the minimum total tardiness 1 || T j Literature: Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995, Chapters 3.3 and 3.4 or new: Second Addition, 2002, Chapter 3.
2 Optimal schedule has this form j d 1,...,j d k, j t 1,...,j t l Notation Jset of jobs already scheduled J C set of jobs still to be scheduled J d set of jobs already considered for scheduling, but which have been discarded because they will not meet their due date in the optimal schedule meet their due dates EDD rule do not meet their due dates Moor’s algorithm for 1 || U j
3 Step 1. J = J d = J C = {1,...,n} Step 2. Let j* be such that Add j* to J Delete j* from J C Step 3. If else let k* be such that Delete k* from J Add k* to J d Step 4. If J d = STOP else go to Step 2. then go to Step 4.
4 Example J = , J d = , J C = {1,...,5} j*=1J = {1}, J d = , J C = {2, 3, 4, 5}, t=7 < 9 = d j*=2J = {1, 2}, J d = , J C = {3, 4, 5}, t=15 < 17 = d 2 j*=3J = {1, 2, 3}, J d = , J C = {4, 5}, t=19 > 18 = d 3 k*=2J = {1, 3}, J d = {2}, t=11
5 j*=4J = {1, 3, 4}, J d = {2}, J C = {5}, t=17 < 19 = d 4 j*=5J = {1, 3, 4, 5}, J d = {2}, J C = , t=23 > 21 = d 5 k*=1J = {3, 4, 5}, J d = {2, 1}, t=16 < 21 = d 5 optimal schedule 3, 4, 5, 1, 2 U j =
6 The Total Tardiness 1 || T j is NP hard Lemma. If p j < p k and d j < d k then there exists an optimal sequence in which job j is scheduled before job k. d 1 ... d n and p k = max(p 1,..., p n ) {1,...,k-1} any order k {k+1,...,n} Lemma.There exists an integer , 0 n-k such that there is an optimal schedule S in which job k is preceded by jobs j k + and followed by jobs j > k + . k {1,...,k-1, k+1,..., k+ } any order {k+ +1,..., n} any order completion time of job k
7 PRINCIPLE OF OPTIMALITY, Bellman An optimal policy has the property that whatever the initial state and the initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision. Algorithm Dynamic programming procedure: recursively the optimal solution for some job set J starting at time t is determined from the optimal solutions to subproblems defined by job subsets of S* S with start times t* t. J(j, l, k) contains all the jobs in a set {j, j+1,..., l} with processing time p k V( J(j, l, k), t)total tardiness of the subset under an optimal sequence if this subset starts at time t
8 Initial conditions: V( , t) = 0 V( { j }, t ) = max (0, t + p j - d j ) Recursive conditions: where k' is such that p k' = max ( p j' | j' J(j, l, k) ) Optimal value function is obtained for V( { 1,...,n }, 0 )
9 Example k'=3, 0 2 d k' = d 3 = 266 V( J(1, 3, 3), 0) = 01, 2 C 2 = 200 < 266 = d 2 T 1 + T 2 = 0 2, 1 C 1 = 200 < 260 = d 1 T 2 + T 1 = 0 C 3 (0) - d 3 = = = 81
10 V( J(4, 5, 3), 347) 4, 5 T 4 = = 94 T 5 = = 229 T 4 + T 4 = 317 5, 4 T 5 = = 140 T 4 = = 224 T 5 + T 4 = 364 C 3 (1) - d 3 = = = 164 C 3 (2) - d 3 = = = 294 V( J(1, 4, 3), 0)=0achieved with the sequence 1, 2, 4 and 2, 1, 4 V( J(5, 5, 3), 430)=223 V( J(1, 5, 3), 0)=76achieved with the sequence 1, 2, 4, 5 and 2, 1, 4, 5 V( , 560)=0 optimal sequences: 1, 2, 4, 5, 3 and 2, 1, 4, 5, 3
11 Summary * 1 || U j forward algorithm * 1 || w j U j is NP hard * 1 || T j is NP hard, pseudo-polynomial algorithm based on dynamic programming