IE652 - Chapter 10 Single Machine Scheduling 1 Assumptions All jobs are processed on a single machine Release time of each job is 0 Processing times are known with certainty Scheduling Sequencing in this case 2
Performance Measures for Single Machine Scheduling C max is not the measure of performance, because all sequences of jobs gives the same result for this criterion. Common measures for single machine problems: Minimizing the mean flow time ( F ), the maximum tardiness (T max ), the number of tardy jobs (n T ) 3 Minimizing The Mean Flowtime To minimize the mean flow time place the job with the shortest processing time in the first position, because it is counted n times in the calculation of total flow time (P ) + (P1 + P2 ) + (P1 + P2 + P3 ) +... + (P1 + P2 + P3 +... F = n Therefore; SPT (shortest processing time) rule gives the best sequence for the minimum mean flow time 1 + P n 4 )
SPT (shortest processing time) 5 SPT - Example Consider the following 7 jobs and their processing times. J i 1 2 3 4 5 6 7 P i 6 4 8 3 2 7 1 a) Evaluate the sequence of J1, J2, J3, J4, J5, J6, J7. b) Use SPT rule. Discuss which measures will be affected by the change in the sequence. 6
Sequence : J1(6), J2(4), J3(8), J4(3), J5(2), J6(7), J7(1) J1 J2 J3 J4 J5 J6 J7 0 6 10 18 21 23 30 31 6 + 10 + 18+ 21+ 23+ 30 + 31 139 F = = = 19.86 7 7 7 SPT Sequence : J7(1), J5(2), J4(3), J2(4), J1(6), J6(7), J3(8) J7 J5 J4 J2 J1 J6 J3 0 1 3 6 10 16 23 31 1+ 3+ 6 + 10 + 16 + 23+ 31 90 F = = = 12.86 7 7 8
Minimizing The Mean Weighted Flow Time In many situations, all jobs are not equally important. WIP inventory values may be different, when jobs have different importance (value). Then, we can assign importance weight or value to each job. 9 Minimizing The Mean Weighted Flow Time Sequence the jobs so as to minimize WSPT (Weighted Shortest Processing Time) rule can establish this objective n 1 Fv = vi F i(k) n k = 1 F v 10
WSPT (Weighted Shortest Processing Time) 11 WSPT Example A company has a production line that can produce six parts (coded as JAxx). The time required to produce each part, and their per unit material costs are given in the following table. How would you schedule these parts through the line to minimize the inventory cost of work-inprocess? Assume inventory holding cost is 40% per year, and each week contains 40 hours. Part, i JA01 JA02 JA03 JA04 JA05 JA06 P i (minutes) 2.5 5 3.2 4 7 3 Q i (units) 100 50 10 60 50 100 c i,unit cost ($) 5 20 1 40 100 4 12
WSPT Example Part, i JA01 JA02 JA03 JA04 JA05 JA06 P i (minutes) 2.5 5 3.2 4 7 3 Q i (units) 100 50 10 60 50 100 c i,unit cost ($) 5 20 1 40 100 4 ratio P i / c i 0.5 0.25 3.2 0.1 0.07 0.75 Sequence: JA05 JA04 JA02 JA01 JA06 JA03 F5[1] = 7 F4[2] = 7 + 4 = 11 F2[3] = 11 + 5 = 16 F v = 277.2 F1[4] = 16 + 2.5 = 18.5 F6[5] = 18.5 + 3 = 21.5 F3[6] = 21.5 + 3.2 = 24.7 (not real C max ) 13 Minimizing The Maximum Tardiness 14
EDD (Earliest Due Date) 15 EDD Example F F Job, i 1 2 3 4 5 6 P i 1 1.5 2 4 0.5 3 d i 7 3 8 12 9 3 16
SPT sequence (solution to a) Job, i 5 1 2 3 6 4 P i 0.5 1 1.5 2 3 4 d i 9 7 3 8 3 12 C i 0.5 1.5 3 5 8 12 L i -8.5-5.5 0-3 5 0 T i 0 0 0 0 5 0 E i 8.5 5.5 0 3 0 0 17 EDD sequence (solution to b) Job, i 2 6 1 3 5 4 P i 1.5 3 1 2 0.5 4 d i 3 3 7 8 9 12 C i 1.5 4.5 5.5 7.5 8 12 L i -1.5 1.5-1.5-0.5-1 0 T i 0 1.5 0 0 0 0 E i 1.5 0 1.5 0.5 1 0 18
Minimizing The Number of Tardy Jobs 19 Moore Hodgson Algorithm 20
Moore Hodgson Algorithm 21 Moore Hodgson Algorithm Example Consider the following jobs, and find a sequence to minimize the number of tardy jobs. Job, i 1 2 3 4 5 6 P i 10 3 4 8 10 6 d i 15 6 9 23 20 30 22
EDD sequence: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 1 10 15 17 2 2 5 10 20 27 7 7 4 8 23 35 12 12 6 6 30 41 11 11 23 Moore Hodgson Algorithm Step 1: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 1 10 15 17 2 2 5 4 6 Tardiness occurs 24
Moore Hodgson Algorithm Step 2: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 1 10 15 17 2 2 5 4 6 25 Moore Hodgson Algorithm Step 3: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 1 10 15 17 2 2 5 4 6 Remove job 1 from the sequence 26
Moore Hodgson Algorithm Step 1: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 5 10 20 17-3 0 4 8 23 25 2 2 6 Tardiness occurs 27 Moore Hodgson Algorithm Step 2: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 5 10 20 17-3 0 4 8 23 25 2 2 6 28
Moore Hodgson Algorithm Step 3: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 5 10 20 17-3 0 4 8 23 25 2 2 6 Remove job 5 from the sequence 29 Moore Hodgson Algorithm Step 1: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 4 8 23 15-8 0 6 6 30 21-11 0 NO Tardiness occurs 30
Moore Hodgson Algorithm Step 4: Ji Pi di Ci Li Ti 2 3 6 3-3 0 3 4 9 7-2 0 4 8 23 15-8 0 6 6 30 21-11 0 1 10 15 31 16 16 5 10 20 41 21 21 31 Sequence Dependent Setup Times If the setup times are sequence independent, then they are included in P i (processing time). Example for dependent setup time: Color changes in glass industry: Normal colored changeover (setup time) is short, Colored normal changeover (setup time) is long, This is known as the problem of sequence dependent setup times. 32
Sequence Dependent Setup Times Performance measure: C max C max is a function of the order in which jobs are processed. C max = F max = F n [ n] = S[ k-1],[ k] + Pi [ k] i k = 1 n k = 1 Where; S [k-1],[k] = The time to changeover from the job in position [k-1] to the job in position [k]. 33 Regret based algorithm Step 1: Reduce the matrix by row: minimum element in each row is subtracted from every element of that row Step 2: Reduce the matrix by column: minimum element in each column is subtracted from every element of that column Step 3: Calculate the regret value for every zero element in the matrix: the smallest elements in the column and row corresponding to the zero element are summed Step 4: Choose the zero element with largest regret: Select i*, j* with R i*j* = max{r ij }, i=1..n ; j=1..n Assign job pair in sequence as i* j* Step 5: Prohibit a subtour by setting p j*k* =, (k* is the first job of the subtour) remove row i* and column j* from the matrix, go to step 1 34
Regret based algorithm- Example 35 Steps 1 and 2: Matrix reduction C max = 19 36
Steps 3 and 4: Calculate regret values and assign job pair in sequence as i*,j* with largest regret value Subtours after iteration 1 = (5,2) 37 Step 5: set p 2,5 =, remove the row 5 and column 2 from the matrix Go to step 1 38
Steps 1 and 2: Matrix reduction C max = 19+5 = 24 39 Steps 3 and 4: Calculate regret values and assign job pair in sequence as i*,j* with largest regret value Subtours after iteration 2 = (5,2), (3,1) 40
Step 5: set p 1,3 =, remove the row 3 and column 1 from the matrix, go to step 1 for the third iteration as follows: C max = 24 Subtours after iteration 3 = (5,2), (3,1,4) 41 set p 4,3 =, remove the row 1 and column 4 from the matrix, go to step 1 for the next iteration as follows: C max = 24 Complete tour after iteration 4 = (5,2,3,1,4,5) 42