Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lecture slides for POM 1-13

Lecture slides for POM 1-13

生産管理技術1の講義13のスライドです.

hajimizu

July 29, 2023
Tweet

More Decks by hajimizu

Other Decks in Technology

Transcript

  1. © 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
  2. © 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
  3. © 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
  4. © 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
  5. © 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.)
  6. © 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
  7. © 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
  8. © 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
  9. © 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
  10. © 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
  11. © 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, …
  12. © 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.
  13. © 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
  14. © 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
  15. © 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
  16. © 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
  17. © 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, …
  18. © 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
  19. © 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, …
  20. © 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
  21. © 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
  22. © 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.