© J. Christopher Beck 20051 Lecture 7: 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 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,
Chapter 5 Fundamental Algorithm Design Techniques.
Lecture 10: Integer Programming & Branch-and-Bound
© J. Christopher Beck Lecture 15: CP Search.
 Basic Concepts  Scheduling Criteria  Scheduling Algorithms.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 5: CPU Scheduling.
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)
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
CS 311 – Lecture 23 Outline Kernel – Process subsystem Process scheduling Scheduling algorithms User mode and kernel mode Lecture 231CS Operating.
© J. Christopher Beck Lecture 4: Project Planning 1.
© J. Christopher Beck Lecture 30: Scheduling Systems 1.
What we will cover…  CPU Scheduling  Basic Concepts  Scheduling Criteria  Scheduling Algorithms  Evaluations 1-1 Lecture 4.
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
© J. Christopher Beck Lecture 18: Timetabling with Workforce Capacity.
8-1 Problem-Solving Examples (Preemptive Case). 8-2 Outline Preemptive job-shop scheduling problem (P-JSSP) –Problem definition –Basic search procedure.
© J. Christopher Beck Lecture 11: Constraint Programming 1.
© J. Christopher Beck Lecture 3: Manufacturing Scheduling Concepts.
A. Frank - P. Weisberg Operating Systems CPU Scheduling.
Modified from Silberschatz, Galvin and Gagne ©2009 Lecture 8 Chapter 5: CPU Scheduling.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
1 The Greedy Method CSC401 – Analysis of Algorithms Lecture Notes 10 The Greedy Method Objectives Introduce the Greedy Method Use the greedy method to.
Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has.
© J. Christopher Beck Lecture 19: Timetabling with Operator Constraints.
Lecture 8: Dispatch Rules
© J. Christopher Beck Lecture 30: Distributed Scheduling.
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 5: Project Planning 2.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
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.
© 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.
© J. Christopher Beck Lecture 10: (Full) Shifting Bottleneck.
Session 26 University of Southern California ISE514 Batch Processing and Batch Sequencing November 19, 2015 Geza P. Bottlik Page 1 Outline Questions? Project.
Spring 2008The Greedy Method1. Spring 2008The Greedy Method2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1)
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.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
1 Chapter 5: CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms.
CPU Scheduling CSSE 332 Operating Systems Rose-Hulman Institute of Technology.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph
Lecture 15: Assembly Line Scheduling 3
Network Simplex Animations
Merge Sort 7/29/ :21 PM The Greedy Method The Greedy Method.
Lecture 8: Dispatch Rules
Lecture 11: Tree Search © J. Christopher Beck 2008.
Basic Project Scheduling
Load Balancing: List Scheduling
James B. Orlin Presented by Tal Kaminker
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.
Introduction to Scheduling Chapter 1
Merge Sort 1/17/2019 3:11 AM The Greedy Method The Greedy Method.
Lecture 9: Tabu Search © J. Christopher Beck 2005.
Lecture 2 Part 3 CPU Scheduling
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Branch and Bound Example
EE5900 Advanced Embedded System For Smart Infrastructure
Merge Sort 5/2/2019 7:53 PM The Greedy Method The Greedy Method.
Load Balancing: List Scheduling
Presentation transcript:

© J. Christopher Beck Lecture 7: Shifting Bottleneck

© J. Christopher Beck Outline Shifting Bottleneck Heuristic Simplified version using example Full version using example Try it yourself on the “cut out” JSP

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

© 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 Simplified Shifting Bottleneck Heuristic (SSBH) M = set of all machines M0 = set of “already scheduled” machines Initially M0 is empty

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

© J. Christopher Beck SSBH Step 1: Find C max (M0) J1 J2 J C max (M0) 022 NOTE: This is a job-based Gantt chart

© J. Christopher Beck SSBH Step 1: Find Release & Due Dates (CPM) J1 J2 J C max (M0) 022 [16 22] J1 J2 J [0 10][10 18][18 22] [0 8][8 11][11 16] [0 12][4 19][11 22]

© J. Christopher Beck SSBH Step 2: Find Optimal 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 SSH Step 3: Add Machine 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

© J. Christopher Beck SSHB Step 4: (SKIPPED) Step 4 from SHB is skipped in the Simplified SSHB

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

© J. Christopher Beck SSHB Overview Step 1: Find C max (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

© J. Christopher Beck J2 6 5 SSHB Step 1 (Iteration 2) M0 = {M1} Find C max (M0) = 27, find release & due dates M1 M2 M4 M J J3 [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 SSBH Step 2 (Iteration 2): Find Optimal 1-M Schedules Using release and due dates, min. L max 46 L max (3) = L max (4) = 0 [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) =

© J. Christopher Beck SSH 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 to add machine 2

© J. Christopher Beck SSHB Step 4 (Iteration 2): (SKIPPED) Step 4 from SHB is skipped in the Simplified SSHB

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

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

© J. Christopher Beck SSBH Step 2 (Iteration 3): Find Optimal 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 SSH Step 3 (Iteration 2): 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 SSHB Step 4 (Iteration 2): (SKIPPED) Step 4 from SHB is skipped in the Simplified SSHB

© J. Christopher Beck SSHB Step 5: Termination M0 ≠ M so STOP

© J. Christopher Beck SSHB Overview Step 1: Find C max (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

© J. Christopher Beck SHB Overview Step 1: Find C max (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

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

© J. Christopher Beck SSHB & SHB on Cut Out JSP Run SSHB & SHB on “cut out” JSP that we have been used in previous lectures Activities Jobs1234 1M1, 9M2, 8M3, 4M4, 4 2M1, 5M2, 6M4, 3M3, 6 3M3, 10M1, 4M2, 9M4, 2 Opt = 33