© J. Christopher Beck 20081 Lecture 10: (Full) Shifting Bottleneck.

Slides:



Advertisements
Similar presentations
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Advertisements

Lecture 6: Job Shop Scheduling Introduction
© J. Christopher Beck Lecture 7: Shifting Bottleneck.
© J. Christopher Beck Lecture 17: Tabu Search.
Branch and Bound Example. Initial lower bound Jrpd Use 1 machine preemptive schedule as lower bound Job 2 has a lateness of 5,
Lesson 11 Multicriteria Decisions within LP Framework.
Evaluating Heuristics for the Fixed-Predecessor Subproblem of Pm | prec, p j = 1 | C max.
Chapter 5 Fundamental Algorithm Design Techniques.
Adding Polynomials with Miss Pennington Click to begin!begin.
SOLVING LINEAR PROGRAMS USING EXCEL Dr. Ron Lembke.
Lecture 10: Integer Programming & Branch-and-Bound
© J. Christopher Beck Lecture 15: CP Search.
Lateness Models Contents
Merge Sort 4/15/2017 6:09 PM The Greedy Method The Greedy Method.
© J. Christopher Beck Lecture 14: Assembly Line Scheduling 2.
Introduction to Operations Research (II)
© J. Christopher Beck Lecture 29: Supply Chain Scheduling 3.
© J. Christopher Beck Lecture 4: Project Planning 1.
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
© J. Christopher Beck Lecture 30: Scheduling Systems 1.
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
© J. Christopher Beck Lecture 18: Timetabling with Workforce Capacity.
© J. Christopher Beck Lecture 11: Constraint Programming 1.
© J. Christopher Beck Lecture 3: Manufacturing Scheduling Concepts.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
14-Jul-15 State Machines Abbreviated lecture. 2 What is a state machine? A state machine is a different way of thinking about computation A state machine.
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
© J. Christopher Beck Lecture 19: Timetabling with Operator Constraints.
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
Lecture 8: Dispatch Rules
The Marriage Problem Finding an Optimal Stopping Procedure.
Advanced Algorithms Piyush Kumar (Lecture 5: Weighted Matching) Welcome to COT5405 Based on Kevin Wayne’s slides.
Job-shop Scheduling n jobs m machines No recirculation – Jobs do not revisit the same machine (i, j) is referred to as an operation in which job j is processed.
© J. Christopher Beck Lecture 18: Service Scheduling & Timetabling.
© J. Christopher Beck Lecture 13: Assembly Line Scheduling – The Car Sequencing Problem.
© J. Christopher Beck Lecture 5: Project Planning 2.
© J. Christopher Beck Lecture 21: Sports Scheduling 1.
Exercise Find a schedule that minimises makespan..
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
1 Prune-and-Search Method 2012/10/30. A simple example: Binary search sorted sequence : (search 9) step 1  step 2  step 3  Binary search.
© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning.
© J. Christopher Beck Lecture 17: Introduction to Timetabling.
Lecture 9: Simplified Shifting Bottleneck
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
© J. Christopher Beck Lecture 4: Program Evaluation and Review Technique (PERT)
© J. Christopher Beck Lecture 21: IP and CP Models for Sports Scheduling.
Session 26 University of Southern California ISE514 Batch Processing and Batch Sequencing November 19, 2015 Geza P. Bottlik Page 1 Outline Questions? Project.
1 Lecture 7 Linearization of a Quadratic Assignment Problem Indicator Variables.
CS 361 – Chapter 10 “Greedy algorithms” It’s a strategy of solving some problems –Need to make a series of choices –Each choice is made to maximize current.
© J. Christopher Beck Lecture 16: Local Search.
Polyhedral Optimization Lecture 5 – Part 3 M. Pawan Kumar Slides available online
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph
Lecture 15: Assembly Line Scheduling 3
Merge Sort 7/29/ :21 PM The Greedy Method The Greedy Method.
Lecture 8: Dispatch Rules
Lecture 11: Tree Search © J. Christopher Beck 2008.
Load Balancing: List Scheduling
Instructor: Shengyu Zhang
Merge Sort 11/28/2018 2:18 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 2:21 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 8:16 AM The Greedy Method The Greedy Method.
Lecture 23: Workforce Scheduling 1
Merge Sort 1/17/2019 3:11 AM The Greedy Method The Greedy Method.
Lecture 9: Tabu Search © J. Christopher Beck 2005.
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Branch and Bound Example
Merge Sort 5/2/2019 7:53 PM The Greedy Method The Greedy Method.
Load Balancing: List Scheduling
Presentation transcript:

© J. Christopher Beck Lecture 10: (Full) Shifting Bottleneck

© J. Christopher Beck Outline Simplified Shifting Bottleneck Heuristic Review Full Shifting Bottleneck Example Try it out

© J. Christopher Beck Readings P Ch 5.4

© J. Christopher Beck Simplified Shifting Bottleneck (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

© J. Christopher Beck SSBH Overview Step 1: Find C max, release, and due dates CPM Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine to M0 Step 4: (SKIPPED) Step 5: If M = M0, done. Else goto 1

© J. Christopher Beck Shifting Bottleneck Heuristics (SBH) Pick most loaded resource Find optimal 1-machine schedule Pick next most loaded resource Find optimal 1-machine schedule consistent with previous 1-machine schedules Re-compute previous 1-machine schedules - can they be improved?

© J. Christopher Beck SBH Overview Step 1: Find C max, r j ’s, and d j ’s Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine (call it h) to M0 Step 4: Re-sequence machines in M0 \ {h} Step 5: If M = M0, done. Else goto 1

© J. Christopher Beck Example 5.4.2, p. 89 JSP, min C max J1 J2 J JobsMachinesProcessing times 11,2,3p 11 =10, p 21 =8, p 31 =4 22,1,4,3p 22 =8, p 12 =3, p 42 =5, p 32 =6 31,2,4p 13 =4, p 23 =7, p 43 =3 M1 M2 M4 M3

© J. Christopher Beck SBH 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

© J. Christopher Beck SBH Step 1: Find C max

© J. Christopher Beck SBH Step 1: Find C max [0 [10 [18 [22 [0 [8 [11 [16[22 [11[16 [0 [4 [11 [14

© J. Christopher Beck SBH Step 1: Find C max [0 0] [10 10] [18 18] [22 22] [0 0] [8 8] [11 11] [16 16][22 22] [11 11][16 16] [0 8] [4 12] [11 19] [14 22] r j = min start d j = max end

© J. Christopher Beck SBH Step 1: Find Release & Due Dates (CPM) [16 22] J1 J2 J [0 10][10 18][18 22] [0 8][8 11][11 16] [0 12][4 19][11 22] release date due date Questions?

© J. Christopher Beck SBH Step 2: Find Min L max 1-Machine Schedules Using release and due dates, min. L max [16 22] M1 M2 M [0 10] [10 18] [18 22] [0 8] [8 11] [11 16] [0 12] [4 19] [11 22] M4 J2J1J L max (1) = J2 J3J1 L max (2) = L max (3) = L max (4) = 0 L j = C j – d j L max = max(L j )

© J. Christopher Beck SBH Step 3: Add Machine h to M0 Pick machine with highest L max Use sequence found in Step 2 L max (1) = L max (2) = 5 Arbitrarily choose to add machine 1 So h = M1

© J. Christopher Beck SBH Step 4: Resequence M0 \ {h} h = M1 M0 = {M1} M0 \ {M1} = {} So there is nothing to do Questions?

© J. Christopher Beck SBH Step 5: Termination M0 ≠ M so goto Step 1

© J. Christopher Beck SBH Overview Step 1: Find C max, r j ’s, and d j ’s Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine (call it h) to M0 Step 4: Re-sequence machines in M0 \ {h} Step 5: If M = M0, done. Else goto 1

© J. Christopher Beck SBH Step 1 (Iteration 2): Find C max

© J. Christopher Beck SBH Step 1 (Iteration 2): Find C max [0 [10 [18 [22 [0 [8[10[13 [18[24 [13[18 [13 [17 [24 [27

© J. Christopher Beck SBH Step 1 (Iteration 2): Find C max [0 0] [10 10][10 15][18 23] [22 27] [0 2] [8 10][10 10][13 13] [18 21][24 27] [13 16][18 21] [13 13] [17 17] [24 24] [27 27]

© J. Christopher Beck SBH Step 1 (Iteration 2) M0 = {M1} Find C max, release & due dates [18 27] M3 4 6 [18 27] 5 3 [13 21][24 27] M4 M [10 23] [0 10] [17 24] J2J1J3

© J. Christopher Beck SBH Step 2 (Iteration 2): Find Min L max 1-M Schedules Using release and due dates, min. L max 46 L max (3) = [18 27] M3 4 6 [18 27] 5 3 [13 21][24 27] M4 M [10 23] [0 10] [17 24] J2J1J J2 J3 J1 L max (2) = L max (4) = 0 either schedule OK

© J. Christopher Beck SBH Step 3 (Iteration 2): Add Machine to M0 Pick machine with highest L max Use sequence found in Step 2 L max (2) = L max (3) = 1 Arbitrarily choose h = machine 2

© J. Christopher Beck SBH Step 4: (Iteration 2) Resequence M0 \ {h} h = M2 M0 = {M1, M2} M0 \ {M2} = {M1} So we want to resequence M1 subject to the constraints on M2!!!!

© J. Christopher Beck SBH Step 4 (Iteration 2): Find C max

© J. Christopher Beck SBH Step 4 (Iteration 2): Find C max

© J. Christopher Beck SBH Step 4 (Iteration 2): Find C max [0 0] [10 10] [18 18][18 24][22 28] [0 2] [8 10][8 11][11 14] [16 22][22 28] [11 17][16 22] [0 14] [4 18][18 18][25 25] [28 28]

© J. Christopher Beck SBH Step 4: Find Min L max 1-Machine Schedule Using release and due dates, min. L max M [0 10] [8 14][0 18] L max (1) = Same as current sequence, so don’t change anything If min L max schedule was different, we would change the M1 sequence Questions?

© J. Christopher Beck SBH Step 5: Termination M0 ≠ M so goto Step 1

© J. Christopher Beck SBH Step 1 (Iteration 3): Find C max

© J. Christopher Beck SBH Step 1 (Iteration 3): Find C max [0 [10 [18 [22 [0 [8[10[13 [18[24 [13[18 [13 [17[18[25 [28

© J. Christopher Beck SBH Step 1 (Iteration 3): Find C max [0 0] [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] [28 28]

© J. Christopher Beck SHB Step 1 (Iteration 3) M0 = {M1, M2} Find C max = 28, find release & due dates [18 28] M3 4 6 [18 28] 5 3 [13 22][25 28] M4

© J. Christopher Beck SSBH Step 2 (Iteration 3): Find Min L max 1-M Schedules Using release and due dates, min. L max 46 L max (3) = L max (4) = 0 [18 28] M3 4 6 [18 28] 5 3 [13 22][25 27] M4

© J. Christopher Beck SBH Step 3 (Iteration 3): Add Machine to M0 L max (3) = L max (4) = 0 So you actually have a final schedule by adding sequences from Step 2 8 J2 6 5 M1 M2 M4 M J J3

© J. Christopher Beck SBH Step 3 (Iteration 3): Add Machine to M0 But let’s assume you choose h = M3 M0 = {M1, M2, M3}

© J. Christopher Beck SBH Step 4: (Iteration 3) Resequence M0 \ {h} h = M3 M0 = {M1, M2, M3} M0 \ {M3} = {M1, M2} So we want to resequence M1 subject to the constraints on M2 and M3 resequence M2 subject to the constraints on M1 and M3

© J. Christopher Beck SBH Step 4 (Iteration 3): Resequence M1 s.t. {M2,M3}

© J. Christopher Beck SBH Step 4 (Iteration 3): Resequence M2 s.t. {M1,M3}

© J. Christopher Beck SHB Step 5: Termination M0 ≠ M so goto Step 1

© J. Christopher Beck SHB Iteration 4 Sequence M4 (L max (4) = 0) Resequence: M1 s.t. {M2,M3,M4} M2 s.t. {M1,M3,M4} M3 s.t. {M1,M2,M4} M0 = M so STOP

© J. Christopher Beck SBH Overview Step 1: Find C max, r j ’s, and d j ’s Step 2: Find min L max 1-machine schedules Step 3: Add max L max machine (call it h) to M0 Step 4: Re-sequence machines in M0 \ {h} Step 5: If M = M0, done. Else goto 1

© J. Christopher Beck SBH Example JSP Run SSBH on JSP from previous lectures JobsProcessing times 0 J0R0[15]  J0R1[50]  J0R2[60] 1 J1R1[50]  J1R0[50]  J1R2[15] 2 J2R0[30]  J2R1[15]  J2R2[20]