Download presentation
Presentation is loading. Please wait.
Published byAnnice Kennedy Modified over 9 years ago
1
© J. Christopher Beck 20081 Lecture 10: (Full) Shifting Bottleneck
2
© J. Christopher Beck 2008 2 Outline Simplified Shifting Bottleneck Heuristic Review Full Shifting Bottleneck Example 5.4.2 Try it out
3
© J. Christopher Beck 2008 3 Readings P Ch 5.4
4
© J. Christopher Beck 2008 4 Simplified Shifting Bottleneck (SSBH) Find optimal 1-machine schedule for each unscheduled machine subject to any already scheduled resources Identify bottleneck resource Keep optimal 1-machine sequence for bottleneck resource
5
© J. Christopher Beck 2008 5 SSBH Overview Step 1: Find C max, release, and due dates CPM Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine to M0 Step 4: (SKIPPED) Step 5: If M = M0, done. Else goto 1
6
© J. Christopher Beck 2008 6 Shifting Bottleneck Heuristics (SBH) Pick most loaded resource Find optimal 1-machine schedule Pick next most loaded resource Find optimal 1-machine schedule consistent with previous 1-machine schedules Re-compute previous 1-machine schedules - can they be improved?
7
© J. Christopher Beck 2008 7 SBH Overview Step 1: Find C max, r j ’s, and d j ’s Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine (call it h) to M0 Step 4: Re-sequence machines in M0 \ {h} Step 5: If M = M0, done. Else goto 1
8
© J. Christopher Beck 2008 8 Example 5.4.2, p. 89 JSP, min C max J1 J2 J3 10848 3 56 4 7 3 JobsMachinesProcessing times 11,2,3p 11 =10, p 21 =8, p 31 =4 22,1,4,3p 22 =8, p 12 =3, p 42 =5, p 32 =6 31,2,4p 13 =4, p 23 =7, p 43 =3 M1 M2 M4 M3
9
© J. Christopher Beck 2008 9 SBH Step 1 Find release date and due date of each operation Use CPM to find CP and min. start time, max. end time for each activity
10
© J. Christopher Beck 2008 10 SBH Step 1: Find C max 10848 3 56 4 7 3
11
© J. Christopher Beck 2008 11 SBH Step 1: Find C max 10848 3 56 4 7 3 [0 [10 [18 [22 [0 [8 [11 [16[22 [11[16 [0 [4 [11 [14
12
© J. Christopher Beck 2008 12 SBH Step 1: Find C max 10848 3 56 4 7 3 [0 0] [10 10] [18 18] [22 22] [0 0] [8 8] [11 11] [16 16][22 22] [11 11][16 16] [0 8] [4 12] [11 19] [14 22] r j = min start d j = max end
13
© J. Christopher Beck 2008 13 SBH Step 1: Find Release & Due Dates (CPM) [16 22] J1 J2 J3 10848 3 56 4 7 3 [0 10][10 18][18 22] [0 8][8 11][11 16] [0 12][4 19][11 22] release date due date Questions?
14
© J. Christopher Beck 2008 14 SBH Step 2: Find Min L max 1-Machine Schedules Using release and due dates, min. L max [16 22] M1 M2 M3 10848 3 56 4 7 3 [0 10] [10 18] [18 22] [0 8] [8 11] [11 16] [0 12] [4 19] [11 22] M4 J2J1J3 10 3 4 L max (1) = 5 01013 887 J2 J3J1 L max (2) = 5 0815 46 L max (3) = 4 1622 5 3 1116 L max (4) = 0 L j = C j – d j L max = max(L j )
15
© J. Christopher Beck 2008 15 SBH Step 3: Add Machine h to M0 Pick machine with highest L max Use sequence found in Step 2 L max (1) = L max (2) = 5 Arbitrarily choose to add machine 1 So h = M1
16
© J. Christopher Beck 2008 16 SBH Step 4: Resequence M0 \ {h} h = M1 M0 = {M1} M0 \ {M1} = {} So there is nothing to do Questions?
17
© J. Christopher Beck 2008 17 SBH Step 5: Termination M0 ≠ M so goto Step 1
18
© J. Christopher Beck 2008 18 SBH Overview Step 1: Find C max, r j ’s, and d j ’s Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine (call it h) to M0 Step 4: Re-sequence machines in M0 \ {h} Step 5: If M = M0, done. Else goto 1
19
© J. Christopher Beck 2008 19 SBH Step 1 (Iteration 2): Find C max 10848 3 56 4 7 3
20
© J. Christopher Beck 2008 20 SBH Step 1 (Iteration 2): Find C max 10848 3 56 4 7 3 [0 [10 [18 [22 [0 [8[10[13 [18[24 [13[18 [13 [17 [24 [27
21
© J. Christopher Beck 2008 21 SBH Step 1 (Iteration 2): Find C max 10848 3 56 4 7 3 [0 0] [10 10][10 15][18 23] [22 27] [0 2] [8 10][10 10][13 13] [18 21][24 27] [13 16][18 21] [13 13] [17 17] [24 24] [27 27]
22
© J. Christopher Beck 2008 22 SBH Step 1 (Iteration 2) M0 = {M1} Find C max, release & due dates [18 27] M3 4 6 [18 27] 5 3 [13 21][24 27] M4 M2 8 8 7 [10 23] [0 10] [17 24] J2J1J3
23
© J. Christopher Beck 2008 23 SBH Step 2 (Iteration 2): Find Min L max 1-M Schedules Using release and due dates, min. L max 46 L max (3) = 1 1824 [18 27] M3 4 6 [18 27] 5 3 [13 21][24 27] M4 M2 8 8 7 [10 23] [0 10] [17 24] J2J1J3 88 7 J2 J3 J1 L max (2) = 1 0818 10 5 3 1324 L max (4) = 0 either schedule OK
24
© J. Christopher Beck 2008 24 SBH Step 3 (Iteration 2): Add Machine to M0 Pick machine with highest L max Use sequence found in Step 2 L max (2) = L max (3) = 1 Arbitrarily choose h = machine 2
25
© J. Christopher Beck 2008 25 SBH Step 4: (Iteration 2) Resequence M0 \ {h} h = M2 M0 = {M1, M2} M0 \ {M2} = {M1} So we want to resequence M1 subject to the constraints on M2!!!!
26
© J. Christopher Beck 2008 26 SBH Step 4 (Iteration 2): Find C max 10848 3 56 4 7 3
27
© J. Christopher Beck 2008 27 SBH Step 4 (Iteration 2): Find C max 10848 3 56 4 7 3
28
© J. Christopher Beck 2008 28 SBH Step 4 (Iteration 2): Find C max 10848 3 56 4 7 3 [0 0] [10 10] [18 18][18 24][22 28] [0 2] [8 10][8 11][11 14] [16 22][22 28] [11 17][16 22] [0 14] [4 18][18 18][25 25] [28 28]
29
© J. Christopher Beck 2008 29 SBH Step 4: Find Min L max 1-Machine Schedule Using release and due dates, min. L max M1 10 3 4 [0 10] [8 14][0 18] 10 3 4 L max (1) = 0 01013 Same as current sequence, so don’t change anything If min L max schedule was different, we would change the M1 sequence Questions?
30
© J. Christopher Beck 2008 30 SBH Step 5: Termination M0 ≠ M so goto Step 1
31
© J. Christopher Beck 2008 31 SBH Step 1 (Iteration 3): Find C max 10848 3 56 4 7 3
32
© J. Christopher Beck 2008 32 SBH Step 1 (Iteration 3): Find C max 10848 3 56 4 7 3 [0 [10 [18 [22 [0 [8[10[13 [18[24 [13[18 [13 [17[18[25 [28
33
© J. Christopher Beck 2008 33 SBH Step 1 (Iteration 3): Find C max 10848 3 56 4 7 3 [0 0] [10 10] [18 18][18 24][22 28] [0 2] [8 10][10 11][13 14] [18 22][24 28] [13 17][18 22] [13 14] [17 18][18 18][25 25] [28 28]
34
© J. Christopher Beck 2008 34 SHB Step 1 (Iteration 3) M0 = {M1, M2} Find C max = 28, find release & due dates [18 28] M3 4 6 [18 28] 5 3 [13 22][25 28] M4
35
© J. Christopher Beck 2008 35 SSBH Step 2 (Iteration 3): Find Min L max 1-M Schedules Using release and due dates, min. L max 46 L max (3) = 0 1824 5 3 1324 L max (4) = 0 [18 28] M3 4 6 [18 28] 5 3 [13 22][25 27] M4
36
© J. Christopher Beck 2008 36 SBH Step 3 (Iteration 3): Add Machine to M0 L max (3) = L max (4) = 0 So you actually have a final schedule by adding sequences from Step 2 8 J2 6 5 M1 M2 M4 M3 10 3 4 8 J1 4 3 7 J3
37
© J. Christopher Beck 2008 37 SBH Step 3 (Iteration 3): Add Machine to M0 But let’s assume you choose h = M3 M0 = {M1, M2, M3}
38
© J. Christopher Beck 2008 38 SBH Step 4: (Iteration 3) Resequence M0 \ {h} h = M3 M0 = {M1, M2, M3} M0 \ {M3} = {M1, M2} So we want to resequence M1 subject to the constraints on M2 and M3 resequence M2 subject to the constraints on M1 and M3
39
© J. Christopher Beck 2008 39 SBH Step 4 (Iteration 3): Resequence M1 s.t. {M2,M3} 10848 3 56 4 7 3
40
© J. Christopher Beck 2008 40 SBH Step 4 (Iteration 3): Resequence M2 s.t. {M1,M3} 10848 3 56 4 7 3
41
© J. Christopher Beck 2008 41 SHB Step 5: Termination M0 ≠ M so goto Step 1
42
© J. Christopher Beck 2008 42 SHB Iteration 4 Sequence M4 (L max (4) = 0) Resequence: M1 s.t. {M2,M3,M4} M2 s.t. {M1,M3,M4} M3 s.t. {M1,M2,M4} M0 = M so STOP
43
© J. Christopher Beck 2008 43 SBH Overview Step 1: Find C max, r j ’s, and d j ’s Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine (call it h) to M0 Step 4: Re-sequence machines in M0 \ {h} Step 5: If M = M0, done. Else goto 1
44
© J. Christopher Beck 2008 44 SBH Example JSP Run SSBH on JSP from previous lectures JobsProcessing times 0 J0R0[15] J0R1[50] J0R2[60] 1 J1R1[50] J1R0[50] J1R2[15] 2 J2R0[30] J2R1[15] J2R2[20]
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.