© J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.
-
Upload
jesse-kitchens -
Category
Documents
-
view
217 -
download
0
Transcript of © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.
© J. Christopher Beck 2005 1
Lecture 7: Shifting Bottleneck
© J. Christopher Beck 2005 2
Outline Shifting Bottleneck Heuristic
Simplified version using example 5.4.2
Full version using example 5.4.2 Try it yourself on the “cut out” JSP
© J. Christopher Beck 2005 3
Shifting Bottleneck
Pick most loaded resource Find optimal one-machine schedule Pick next most loaded resource Find optimal one-machine schedule
consistent with previous one-machine schedules
(This is a bit simplified)
© J. Christopher Beck 2005 4
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 2005 5
Simplified Shifting Bottleneck Heuristic (SSBH)
M = set of all machines M0 = set of “already scheduled”
machines Initially M0 is empty
© J. Christopher Beck 2005 6
SSBH Step 1
Find release date and due date of each operation
Remove all sequence constraints among activities in M – M0, use CPM to find CP and min. start time, max. end time for each activity Since M0 is initially empty, we only
have “conjunctive arcs”
© J. Christopher Beck 2005 7
SSBH Step 1: Find Cmax(M0)
10 8 4
8 3 5 6
4 7 3
J1
J2
J3
10 8 4
8 3 5 6
4 7 3
Cmax(M0)0 22 NOTE: This is ajob-based Gantt chart
© J. Christopher Beck 2005 8
SSBH Step 1: Find Release & Due Dates (CPM)
J1
J2
J3
10 8 4
8 3 5 6
4 7 3
Cmax(M0)0 22
[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]
© J. Christopher Beck 2005 9
SSBH Step 2: Find Optimal 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) = 0
Lj = Cj – dj
Lmax = max(Lj)
© J. Christopher Beck 2005 10
SSH 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 2005 11
SSHB Step 4: (SKIPPED)
Step 4 from SHB is skipped in the Simplified SSHB
© J. Christopher Beck 2005 12
SSHB Step 5: Termination
M0 ≠ M so goto Step 1
© J. Christopher Beck 2005 13
SSHB Overview
Step 1: Find Cmax(M0), release, and due dates
Step 2: Find optimal 1-machine schedules
Step 3: Add machine to M0 Step 4: (SKIPPED) Step 5: If M = M0, done. Else goto 1
© J. Christopher Beck 2005 14
8J2
6
5
SSHB Step 1 (Iteration 2) M0 = {M1} Find Cmax(M0) = 27, find release & due dates
M1
M2
M4
M3
10 3 4
8J1
4
3
7J3
[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 2005 15
SSBH Step 2 (Iteration 2): Find Optimal 1-M Schedules
Using release and due dates, min. Lmax
46 Lmax(3) = 1
18 24
5 313 24
Lmax(4) = 0
[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
© J. Christopher Beck 2005 16
SSH 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 2005 17
SSHB Step 4 (Iteration 2): (SKIPPED)
Step 4 from SHB is skipped in the Simplified SSHB
© J. Christopher Beck 2005 18
SSHB Step 5: Termination
M0 ≠ M so goto Step 1
© J. Christopher Beck 2005 19
8J2
6
5
SSHB Step 1 (Iteration 3) M0 = {M1, M2} Find Cmax(M0) = 28, find release & due dates
M1
M2
M4
M3
10 3 4
8J1
4
3
7J3
[18 28]
M3 4 6
[18 28]
5 3[13 22] [25 28]
M4
© J. Christopher Beck 2005 20
SSBH Step 2 (Iteration 3): Find Optimal 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 2005 21
SSH Step 3 (Iteration 2): 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 2005 22
SSHB Step 4 (Iteration 2): (SKIPPED)
Step 4 from SHB is skipped in the Simplified SSHB
© J. Christopher Beck 2005 23
SSHB Step 5: Termination
M0 ≠ M so STOP
© J. Christopher Beck 2005 24
SSHB Overview
Step 1: Find Cmax(M0), release, and due dates
Step 2: Find optimal 1-machine schedules
Step 3: Add machine to M0 Step 4: (SKIPPED) Step 5: If M = M0, done. Else goto 1
© J. Christopher Beck 2005 25
SHB Overview
Step 1: Find Cmax(M0), release, and due dates
Step 2: Find optimal 1-machine schedules
Step 3: Add machine to M0 Step 4: Resequence machines M0
(except for new one) Step 5: If M = M0, done. Else goto 1
© J. Christopher Beck 2005 26
SHB Step 4
Let Mi be the most recently added resource to set M0
For each resource Mj in M0 \ {Mi} Define single machine problem using
sequence in M0 \ {Mj} If resequencing results in better
solution, keep new sequence
© J. Christopher Beck 2005 27
SSHB & SHB on Cut Out JSP
Run SSHB & SHB on “cut out” JSP that we have been used in previous lectures
Activities
Jobs
1 2 3 4
1 M1, 9 M2, 8 M3, 4
M4, 4
2 M1, 5 M2, 6 M4, 3
M3, 6
3 M3, 10
M1, 4 M2, 9
M4, 2
Opt = 33