© J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck.
-
Upload
elwin-riley -
Category
Documents
-
view
222 -
download
0
Transcript of © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck.
© J. Christopher Beck 2008 1
Lecture 9: Simplified Shifting Bottleneck
© J. Christopher Beck 2008 2
Outline Simplified Shifting Bottleneck
Heuristic Example 5.4.2
Try it out
© J. Christopher Beck 2008 3
Readings
P Ch 5.4
© 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
© 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
© 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
© 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
© 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
© 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
© J. Christopher Beck 2008 10
SSBH Step 1: Find Cmax
10 8 4
8 3 5 6
4 7 3
© 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
© 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
© 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?
© 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)
© 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
© J. Christopher Beck 2008 16
SSBH Step 4: (SKIPPED)
Step 4 from SBH is skipped in the Simplified SBH
© J. Christopher Beck 2008 17
SSBH Step 5: Termination
M0 ≠ M so goto Step 1
© 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
© J. Christopher Beck 2008 19
SSBH Step 1 (Iteration 2): Find Cmax
10 8 4
8 3 5 6
4 7 3
© 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
© 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]
© 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
© 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
© 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
© J. Christopher Beck 2008 25
SSBH Step 4 (Iteration 2): (SKIPPED)
Step 4 from SHB is skipped in the Simplified SSHB
© J. Christopher Beck 2008 26
SSBH Step 5: Termination
M0 ≠ M so goto Step 1
© J. Christopher Beck 2008 27
SSBH Step 1 (Iteration 3): Find Cmax
10 8 4
8 3 5 6
4 7 3
© 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
© 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]
© 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
© 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
© 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
© J. Christopher Beck 2008 33
SSHB Step 4 (Iteration 3): (SKIPPED)
Step 4 from SHB is skipped in the Simplified SHB
© J. Christopher Beck 2008 34
SSHB Step 5: Termination
M0 = M so STOP
© 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
© 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]