© j. christopher beck 20081 lecture 9: simplified shifting bottleneck

36
© J. Christopher Beck 2008 1 Lecture 9: Simplified Shifting Bottleneck

Upload: elwin-riley

Post on 14-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck

© J. Christopher Beck 2008 1

Lecture 9: Simplified Shifting Bottleneck

Page 2: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck

© 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

© J. Christopher Beck 2008 3

Readings

P Ch 5.4

Page 4: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© J. Christopher Beck 2008 34

SSHB Step 5: Termination

M0 = M so STOP

Page 35: © J. Christopher Beck 20081 Lecture 9: Simplified Shifting Bottleneck

© 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

© 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]