Slide 1

Slide 1 text

© Hajime Mizuyama Production & Operations Management #1 @AGU Lec.13: Flow Shop Scheduling • Flow shop scheduling problem • How to systematically enumerate candidate schedules • Brach-and-bound algorithm

Slide 2

Slide 2 text

© Hajime Mizuyama Course Schedule #2 Date Contents Mid-term examination Production control and JIT production Project scheduling: Program evaluation and review technique (PERT) / critical path method (CPM) Single and two-machine scheduling: Some single machine problems, and Johnson's and Jackson's algorithm for two-machine case Flow shop scheduling: Graph representation, enumeration, and branch and bound Job shop scheduling: Graphical approach for two-job case, disjunctive graph representation, and dispatching rules Supplemental topics

Slide 3

Slide 3 text

© Hajime Mizuyama Flow Shops and Job Shops Flow shops The processing route (i.e., the order in which the machines are visited) is the same for all the jobs. Job shops The jobs have their own processing routes, and they may be different among the jobs. M1 M2 M3 M4 M1 M2 M3 M4 M1 M2 M3 M4

Slide 4

Slide 4 text

© Hajime Mizuyama There are two or more machines and several jobs whose processing routes are the same. The job sequence 𝜋, which is the same for all the machines, should be determined to minimize the makespan. • Set of jobs: 𝐽 = {1, 2, … , |𝐽|} • Set of machines: 𝑀 = {1, 2, … , |𝑀|} • Processing time of operation (𝑗, 𝑚) ∈ 𝐽×𝑀: 𝑝!" • Set of permutations of jobs in 𝐽: Π# ∋ 𝜋 = 𝜋$ , 𝜋% , … , 𝜋 # • Starting time of operation (𝑗, 𝑚) ∈ 𝐽×𝑀: 𝑆!" • Completion time of operation (𝑗, 𝑚) ∈ 𝐽×𝑀: 𝐶!" • Makespan: 𝐶&'( = max (!,")∈#×. 𝐶!" Flow Shop Scheduling Problem

Slide 5

Slide 5 text

© Hajime Mizuyama Illustrative Example M1 M2 M3 M4 J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.)

Slide 6

Slide 6 text

© Hajime Mizuyama Illustrative Example • A job cannot be processed on two or more machines at a same time. • A machine cannot process two or more jobs at a same time. J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.) M1 M2 M3 M4

Slide 7

Slide 7 text

© Hajime Mizuyama Illustrative Example • A job cannot be processed on two or more machines at a same time. • A machine cannot process two or more jobs at a same time. J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.) M1 M2 M3 M4

Slide 8

Slide 8 text

© Hajime Mizuyama Illustrative Example • Different job sequences will result in different makespan. • How to determine the most desirable sequence(s)? J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.) M1 M2 M3 M4

Slide 9

Slide 9 text

© Hajime Mizuyama Precedence Diagram for 𝜋 = (1, 2, 3,4) (1, 1) (2, 1) (3, 1) (4, 1) (1, 2) (2, 2) (3, 2) (4, 2) (1, 3) (2, 3) (3, 3) (4, 3) (1, 4) (2, 4) (3, 4) (4, 4) Start End J1 J2 J3 J4 M1 M2 M3 M4 0 40 40 80 110 50 120 30 50 80 90 60 20 130 80 50 120 30 80 90 60 130 30 60 60 140 40 40 160 160 120 250 250 190 170 310 310 280 440 440 500 640 0 0

Slide 10

Slide 10 text

© Hajime Mizuyama Precedence Diagram for 𝜋 = (1, 4, 3,2) (1, 1) (4, 1) (3, 1) (2, 1) (1, 2) (4, 2) (3, 2) (2, 2) (1, 3) (4, 3) (3, 3) (2, 3) (1, 4) (4, 4) (3, 4) (2, 4) Start End J1 J4 J3 J2 M1 M2 M3 M4 0 40 40 110 80 50 120 50 30 80 90 20 60 130 110 50 120 50 80 90 20 130 30 140 60 60 0 40 160 250 40 160 250 280 150 210 290 420 200 290 420 480 540 0

Slide 11

Slide 11 text

© Hajime Mizuyama All permutations of 4 jobs All permutations of 4 jobs Exhaustive Search 4! J2, … 3! J1, … J4, … J3, … J1, J2, … J1, J3, … J1, J4, … J2, J1, … J2, J3, … 2! J2, J4, … 1! J1, J4, J2, J3 J1, J4, J3, J2 J1, … J2, … J1, J4, …

Slide 12

Slide 12 text

© Hajime Mizuyama When there are |𝐽| jobs, there are |𝐽|! schedules. Combinatorial Explosion Number of jobs: |J| Number of schedules: |J|! Time to find the best schedule (An imaginary example) 4 24 0.01 sec. 5 120 0.05 sec. 6 720 0.3 sec. 7 5040 2.1 sec. 8 40320 16.8 sec. 9 362880 2 min. 31.2 sec. 10 3628800 25 min. 12 sec. 11 3916800 4 hours 37 min. 12 sec. 12 479001600 2 days 7 hours 26 min. 24 sec.

Slide 13

Slide 13 text

© Hajime Mizuyama Step1: Set UB = ∞ and N = {n0 }, where node n0 corresponds the set of all the feasible schedules (or job sequences). Step2: Take out a node from set N (and remove it from the set). Step3: Apply branching operation to the chosen node and calculate LB for each of its child nodes. Step4: For each child node, do the following: If it is a leaf node and LB < UB holds, replace (or define) the tentative solution with the schedule corresponding to the leaf node and apply bounding operation after setting UB = LB. If it is not a leaf node and LB < UB holds, add it to set N. Step5: Go back to Step2. Branch and Bound (BAB) Procedure

Slide 14

Slide 14 text

© Hajime Mizuyama LB assigned to a node No schedule contained in the given node has a makespan shorter than the time length specified by the LB, which may not necessarily be the lower limit of the makespan. An Example LB = max { LB of each machine } where: LB of a machine = (1) When all the jobs already assigned are finished on the machine + (2) Total processing times on the machine of all the unassigned jobs + (3) min { total processing times on the following machines of each unassigned job} Lower Bound (LB) of Makespan

Slide 15

Slide 15 text

© Hajime Mizuyama Illustrative Example: LB Calculation #1 (1) 40 160 250 280 (2) 240 160 210 260 + + + + (3) 150 120 60 0 + + + + LB 430 440 520 540 = = = = J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.) M1 M2 M3 M4

Slide 16

Slide 16 text

© Hajime Mizuyama Illustrative Example: LB Calculation #2 (1) 80 110 170 230 (2) 200 250 240 230 + + + + (3) 210 120 30 0 + + + + LB 490 480 440 460 = = = = J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.) M1 M2 M3 M4

Slide 17

Slide 17 text

© Hajime Mizuyama Illustrative Example: Branching Operation and LBs #1 All possible schedules for 4 jobs J2, … J1, … J4, … J3, … 540 490 550 510 J2, … J2, J1, … J2, J3, … J2, J4, …

Slide 18

Slide 18 text

© Hajime Mizuyama Illustrative Example: LB Calculation #3 (1) 120 240 330 360 (2) 160 130 150 200 + + + + (3) 210 160 60 0 + + + + LB 490 530 540 560 = = = = J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.) M1 M2 M3 M4

Slide 19

Slide 19 text

© Hajime Mizuyama Illustrative Example: Branching Operation and LBs #2 All possible schedules for 4 jobs J2, … J1, … J4, … J3, … 540 490 550 510 J2, J1, … J2, J3, … J2, J4, … 560 570 560 J4, … J4, J1, … J4, J2, … J4, J3, …

Slide 20

Slide 20 text

© Hajime Mizuyama Illustrative Example: LB Calculation #4 (1) 150 280 370 400 (2) 130 110 190 120 + + + + (3) 150 120 60 0 + + + + LB 430 510 620 520 = = = = J1 J2 J3 J4 𝑝!" 40 80 50 110 𝑝!# 120 30 80 50 𝑝!$ 90 60 130 20 𝑝!% 30 60 60 140 Processing times (min.) M1 M2 M3 M4

Slide 21

Slide 21 text

© Hajime Mizuyama Illustrative Example: Bounding Operation #1 All possible schedules for 4 jobs J2, … J1, … J4, … J3, … 540 490 550 510 J2, J1, … J2, J3, … J2, J4, … 560 570 560 J4, J1, … J4, J2, … J4, J3, … 620 540 550 J1, … J1, J2, … J1, J3, … J1, J4, … 570 640 540 J1, J4, … J1, J4, J2, J3 J1, J4, J3, J2 550 540

Slide 22

Slide 22 text

© Hajime Mizuyama J4, J1, … J4, J2, … J2, J1, … J2, J3, … J1, J2, … J1, J3, … Illustrative Example: Bounding Operation #2 All possible schedules for 4 jobs J2, … J1, … J4, … J3, … 540 490 550 510 J2, J4, … 560 570 560 J4, J3, … 620 540 550 J1, J4, … 570 640 540 J1, J4, J2, J3 J1, J4, J3, J2 550 540 Upper bound (UB) of the minimum makespan If we know for sure that no schedule with a shorter makespan will be found in a node, we need not investigate the node further.