© j. christopher beck 20081 lecture 9: simplified shifting bottleneck
TRANSCRIPT
![Page 1: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/1.jpg)
© J. Christopher Beck 2008 1
Lecture 9: Simplified Shifting Bottleneck
![Page 2: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/2.jpg)
© J. Christopher Beck 2008 2
Outline Simplified Shifting Bottleneck
Heuristic Example 5.4.2
Try it out
![Page 3: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/3.jpg)
© J. Christopher Beck 2008 3
Readings
P Ch 5.4
![Page 4: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/4.jpg)
© J. Christopher Beck 2008 4
Shifting Bottleneck Heuristic Method for JSP
makespan minimization Bottleneck resource: the most used
resource the one in which the activities are “latest”
in some sort of relaxation of the problem Idea:
solve a series of 1-machine problems from the most to least loaded resource
![Page 5: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/5.jpg)
© J. Christopher Beck 2008 5
Simplified ShiftingBottleneck (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
![Page 6: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/6.jpg)
© J. Christopher Beck 2008 6
Simplified Shifting Bottleneck Heuristic (SSBH)
M = set of all machines M0 = set of “already scheduled”
machines Initially M0 is empty “already scheduled” means all
activities on that resource have been sequenced
![Page 7: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/7.jpg)
© J. Christopher Beck 2008 7
SSBH Overview
Step 1: Find Cmax, release, and due dates CPM
Step 2: Find min Lmax 1-machine schedules
Step 3: Add max Lmax machine to M0 Step 4: (SKIPPED – see Lecture 10) Step 5: If M = M0, done. Else goto 1
![Page 8: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/8.jpg)
© J. Christopher Beck 2008 8
Example 5.4.2, p. 89
JSP, min Cmax
J1
J2
J3
10 8 4
8 3 5 6
4 7 3
Jobs Machines
Processing times
1 1,2,3 p11=10, p21=8, p31=4
2 2,1,4,3 p22=8, p12=3, p42=5 , p32=6
3 1,2,4 p13=4, p23=7, p43=3M1
M2
M4
M3
![Page 9: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/9.jpg)
© J. Christopher Beck 2008 9
SSBH 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
![Page 10: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/10.jpg)
© J. Christopher Beck 2008 10
SSBH Step 1: Find Cmax
10 8 4
8 3 5 6
4 7 3
![Page 11: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/11.jpg)
© J. Christopher Beck 2008 11
SSBH Step 1: Find Cmax
10 8 4
8 3 5 6
4 7 3
[0 [10 [10 [18 [18 [22
[0 [8 [8 [11 [16 [22[11 [16
[0 [4 [4 [11 [11 [14
![Page 12: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/12.jpg)
© J. Christopher Beck 2008 12
SSBH Step 1: Find Cmax
10 8 4
8 3 5 6
4 7 3
[0 0] [10 10] [10 10][18 18] [18 18][22 22]
[0 0] [8 8] [8 8][11 11] [16 16][22 22][11 11][16 16]
[0 8] [4 12] [4 12] [11 19] [11 19][14 22]
rj = min startdj = max end
![Page 13: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/13.jpg)
© J. Christopher Beck 2008 13
SSBH Step 1: Find Release & Due Dates (CPM)
[16 22]
J1
J2
J3
10 8 4
8 3 5 6
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?
![Page 14: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/14.jpg)
© J. Christopher Beck 2008 14
SSBH Step 2: Find MinLmax 1-Machine Schedules
Using release and due dates, min. Lmax
[16 22]
M1
M2
M3
10
8
4
8
3
5
6
4
7
3
[0 10]
[10 18]
[18 22]
[0 8]
[8 11]
[11 16]
[0 12]
[4 19]
[11 22]
M4
J2J1 J3
10 3 4 Lmax(1) = 5
0 10 13
88 7J2 J3 J1 Lmax(2) = 5
0 8 15
46 Lmax(3) = 4
16 22
5 311 16
Lmax(4) = 0Lj = Cj – dj
Lmax = max(Lj)
![Page 15: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/15.jpg)
© J. Christopher Beck 2008 15
SSBH Step 3:Add Machine to M0
Pick machine with highest Lmax
Use sequence found in Step 2 Lmax(1) = Lmax(2) = 5 Arbitrarily choose to add machine 1
![Page 16: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/16.jpg)
© J. Christopher Beck 2008 16
SSBH Step 4: (SKIPPED)
Step 4 from SBH is skipped in the Simplified SBH
![Page 17: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/17.jpg)
© J. Christopher Beck 2008 17
SSBH Step 5: Termination
M0 ≠ M so goto Step 1
![Page 18: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/18.jpg)
© J. Christopher Beck 2008 18
SSBH Overview
Step 1: Find Cmax, release, and due dates CPM
Step 2: Find min Lmax 1-machine schedules
Step 3: Add max Lmax machine to M0 Step 4: (SKIPPED) Step 5: If M = M0, done. Else goto 1
![Page 19: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/19.jpg)
© J. Christopher Beck 2008 19
SSBH Step 1 (Iteration 2): Find Cmax
10 8 4
8 3 5 6
4 7 3
![Page 20: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/20.jpg)
© J. Christopher Beck 2008 20
SSBH Step 1 (Iteration 2): Find Cmax
10 8 4
8 3 5 6
4 7 3
[0 [10 [10 [18 [18 [22
[0 [8 [10 [13 [18 [24[13 [18
[13 [17 [17 [24 [24 [27
![Page 21: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/21.jpg)
© J. Christopher Beck 2008 21
SSBH Step 1 (Iteration 2): Find Cmax
10 8 4
8 3 5 6
4 7 3
[0 0] [10 10] [10 15][18 23] [18 23][22 27]
[0 2] [8 10] [10 10][13 13] [18 21][24 27][13 16][18 21]
[13 13] [17 17] [17 17][24 24] [24 24][27 27]
![Page 22: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/22.jpg)
© J. Christopher Beck 2008 22
SSBH Step 1 (Iteration 2)
M0 = {M1} Find Cmax, 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]
J2J1 J3
![Page 23: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/23.jpg)
© J. Christopher Beck 2008 23
SSBH Step 2 (Iteration 2): Find Min Lmax 1-M Schedules
Using release and due dates, min. Lmax
46 Lmax(3) = 1
18 24[18 27]
M3 4 6
[18 27]
5 3[13 21] [24 27]
M4
M2 8 8 7
[10 23] [0 10] [17 24]
J2J1 J3 88 7J2 J3J1 Lmax(2) = 1
0 8 1810
5 313 24
Lmax(4) = 0
either schedule OK
![Page 24: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/24.jpg)
© J. Christopher Beck 2008 24
SSBH Step 3 (Iteration 2): Add Machine to M0
Pick machine with highest Lmax
Use sequence found in Step 2 Lmax(2) = Lmax(3) = 1 Arbitrarily choose to add machine 2
![Page 25: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/25.jpg)
© J. Christopher Beck 2008 25
SSBH Step 4 (Iteration 2): (SKIPPED)
Step 4 from SHB is skipped in the Simplified SSHB
![Page 26: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/26.jpg)
© J. Christopher Beck 2008 26
SSBH Step 5: Termination
M0 ≠ M so goto Step 1
![Page 27: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/27.jpg)
© J. Christopher Beck 2008 27
SSBH Step 1 (Iteration 3): Find Cmax
10 8 4
8 3 5 6
4 7 3
![Page 28: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/28.jpg)
© J. Christopher Beck 2008 28
SSBH Step 1 (Iteration 3): Find Cmax
10 8 4
8 3 5 6
4 7 3
[0 [10 [10 [18 [18 [22
[0 [8 [10 [13 [18 [24[13 [18
[13 [17 [18 [25 [25 [28
![Page 29: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/29.jpg)
© J. Christopher Beck 2008 29
SSBH Step 1 (Iteration 3): Find Cmax
10 8 4
8 3 5 6
4 7 3
[0 0] [10 10] [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] [25 25][28 28]
![Page 30: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/30.jpg)
© J. Christopher Beck 2008 30
SSHB Step 1 (Iteration 3)
M0 = {M1, M2} Find Cmax= 28, find release & due dates
[18 28]
M3 4 6
[18 28]
5 3[13 22] [25 28]
M4
![Page 31: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/31.jpg)
© J. Christopher Beck 2008 31
SSBH Step 2 (Iteration 3): Find Min Lmax 1-M Schedules
Using release and due dates, min. Lmax
46 Lmax(3) = 0
18 24
5 313 24
Lmax(4) = 0
[18 28]
M3 4 6
[18 28]
5 3[13 22] [25 27]
M4
![Page 32: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/32.jpg)
© J. Christopher Beck 2008 32
SSBH Step 3 (Iteration 3): Add Machine to M0
Lmax(3) = Lmax(4) = 0 So you actually have a final schedule
by adding sequences from Step 2
8J2
6
5
M1
M2
M4
M3
10 3 4
8J1
4
3
7J3
![Page 33: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/33.jpg)
© J. Christopher Beck 2008 33
SSHB Step 4 (Iteration 3): (SKIPPED)
Step 4 from SHB is skipped in the Simplified SHB
![Page 34: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/34.jpg)
© J. Christopher Beck 2008 34
SSHB Step 5: Termination
M0 = M so STOP
![Page 35: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/35.jpg)
© J. Christopher Beck 2008 35
SSBH Overview
Step 1: Find Cmax, release, and due dates CPM
Step 2: Find min Lmax 1-machine schedules
Step 3: Add max Lmax machine to M0 Step 4: (SKIPPED) Step 5: If M = M0, done. Else goto 1
![Page 36: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck](https://reader036.vdocuments.mx/reader036/viewer/2022062518/56649f3b5503460f94c595b5/html5/thumbnails/36.jpg)
© J. Christopher Beck 2008 36
SSBH Example JSP
Run SSBH on JSP from previous lectures
Jobs Processing times
0 J0R0[15] J0R1[50] J0R2[60]
1 J1R1[50] J1R0[50] J1R2[15]
2 J2R0[30] J2R1[15] J2R2[20]