© J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

27
© J. Christopher Beck 2005 1 Lecture 7: Shifting Bottleneck

Transcript of © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

Page 1: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© J. Christopher Beck 2005 1

Lecture 7: Shifting Bottleneck

Page 2: © J. Christopher Beck 20051 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

Page 3: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

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

Page 4: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 5: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 6: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

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

Page 7: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 8: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

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

Page 9: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

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

Page 10: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 11: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© J. Christopher Beck 2005 11

SSHB Step 4: (SKIPPED)

Step 4 from SHB is skipped in the Simplified SSHB

Page 12: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© J. Christopher Beck 2005 12

SSHB Step 5: Termination

M0 ≠ M so goto Step 1

Page 13: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 14: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 15: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 16: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 17: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© J. Christopher Beck 2005 17

SSHB Step 4 (Iteration 2): (SKIPPED)

Step 4 from SHB is skipped in the Simplified SSHB

Page 18: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© J. Christopher Beck 2005 18

SSHB Step 5: Termination

M0 ≠ M so goto Step 1

Page 19: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 20: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 21: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 22: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© J. Christopher Beck 2005 22

SSHB Step 4 (Iteration 2): (SKIPPED)

Step 4 from SHB is skipped in the Simplified SSHB

Page 23: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© J. Christopher Beck 2005 23

SSHB Step 5: Termination

M0 ≠ M so STOP

Page 24: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 25: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 26: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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

Page 27: © J. Christopher Beck 20051 Lecture 7: Shifting Bottleneck.

© 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