1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)

Slides:



Advertisements
Similar presentations
ECE 667 Synthesis and Verification of Digital Circuits
Advertisements

Lecture 6: Job Shop Scheduling Introduction
© J. Christopher Beck Lecture 7: Shifting Bottleneck.
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Lecture 10: Integer Programming & Branch-and-Bound
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Lateness Models Contents
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
Chapter 3 The Greedy Method 3.
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
ECE734 VLSI Arrays for Digital Signal Processing Algorithm Representations and Iteration Bound.
Branch and Bound Searching Strategies
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
1 IOE/MFG 543 Chapter 6: Flow shops Sections 6.1 and 6.2 (skip section 6.3)
1 Set # 3 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
1 IOE/MFG 543 Chapter 3: Single machine models (Sections )
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
CSE 550 Computer Network Design Dr. Mohammed H. Sqalli COE, KFUPM Spring 2007 (Term 062)
Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has.
1 IOE/MFG 543 Chapter 10: Single machine stochastic models Sections 10.1 and 10.4 You may skip Sections
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
INTRODUCTION TO 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.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
© J. Christopher Beck Lecture 5: Project Planning 2.
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
Flexible Assembly line Minimum part set(MPS) Suppose there are l product types. Let N l denote the number of jobs for each product type l. If z is the.
Exact methods for ALB ALB problem can be considered as a shortest path problem The complete graph need not be developed since one can stop as soon as in.
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 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning.
Lecture 9: Simplified Shifting Bottleneck
Outline Introduction Minimizing the makespan Minimizing total flowtime
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
Complete Graphs A complete graph is one where there is an edge between every two nodes A C B G.
Dvir Shabtay Moshe Kaspi The Department of IE&M Ben-Gurion University of the Negev, Israel.
ELEC692 VLSI Signal Processing Architecture Lecture 3
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
© J. Christopher Beck Lecture 10: (Full) Shifting Bottleneck.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
Branch and Bound Searching Strategies
Product A Product B Product C A1A1 A2A2 A3A3 B1B1 B2B2 B3B3 B4B4 C1C1 C3C3 C4C4 Turret lathes Vertical mills Center lathes Drills From “Fundamentals of.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Production systems Scheduling of batch processing.
Some Topics in OR.
St. Edward’s University
Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph
The minimum cost flow problem
Basic Project Scheduling
Basic Project Scheduling
Shop Scheduling Problem
Design and Analysis of Algorithm
The Taxi Scheduling Problem
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
Integer Programming (정수계획법)
Introduction to Scheduling Chapter 1
Chapter 6: Flow shops Sections 6.1 and 6.2 (skip section 6.3)
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Integer Programming (정수계획법)
Topic 15 Job Shop Scheduling.
Maximum Flow Neil Tang 4/8/2008
Presentation transcript:

1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)

2 Job shop (Jm) m machines, n jobs m machines, n jobs Each job has its own routing on the machines Each job has its own routing on the machines –The flow shop is a special case where all the jobs follow the same route (recall F3||C max is NP-hard) –If a job is to be processed on the same machine more than once => recirculation

3 Section 7.1. Disjunctive graph for Jm||C max In Jm||C max there is no recirculation In Jm||C max there is no recirculation All jobs start at a source node U and finish at the sink node V All jobs start at a source node U and finish at the sink node V Node (i,j) is the processing of job j on machine i Node (i,j) is the processing of job j on machine i –Let N denote the set of nodes The arc from node (i,j) has weight p ij The arc from node (i,j) has weight p ij –The arcs going out of the source node have zero weights –Let A denote the set of arcs

4 Disjunctive graph (2) For each machine i connect all nodes of the form (i,j) and (i,k) with two arcs (one going in each direction) For each machine i connect all nodes of the form (i,j) and (i,k) with two arcs (one going in each direction) –The arcs for each machine form a clique, i.e., a sub-graph in which any two nodes are connected to one another The two arcs are disjunctive, i.e., only one of them is utilized The two arcs are disjunctive, i.e., only one of them is utilized –If the operation (i,j) precedes operation (i,k) then only the arc from (i,j) to (i,k) and not the arc from (i,k) to (i,j) is utilized –Let B denote the set of disjunctive arcs

5 Using the graph to find a feasible schedule Select one disjunctive arc from each pair of disjunctive arcs Select one disjunctive arc from each pair of disjunctive arcs If the selection results in an acyclic graph, i.e., contains no cycles, then the corresponding schedule is feasible If the selection results in an acyclic graph, i.e., contains no cycles, then the corresponding schedule is feasible The makespan of the schedule is determined by the critical path method The makespan of the schedule is determined by the critical path method

6 Minimizing the makespan To minimize the makespan we need to select the arcs that results in a schedule that minimizes the makespan To minimize the makespan we need to select the arcs that results in a schedule that minimizes the makespan Disjunctive program Disjunctive program –y ij is the starting time of operation (i,j) minimize C max subject to y kj -y ij ≥p ij  (i,j)  (k,j) C max -y ij ≥ p ij  (i,j) y ij -y il ≥p il or y il -y ij ≥p ij  (i,l) and (i,j), i=1,…,m y ij ≥0  (i,j)

7 Minimizing the makespan (2) Solving this problem can be achieved by a branch and bound algorithm Solving this problem can be achieved by a branch and bound algorithm –The algorithm is computationally expensive even for a problem with a modest number of jobs and machines Use heuristic methods instead Use heuristic methods instead

8 Section 7.2: The shifting bottleneck heuristic Example Example job machine sequence processing times 1 1, 2, 3 p 11 =10, p 21 =8, p 31 =4 2 2, 1, 4, 3 8, 3, 5, 6 3 1, 2, 4 4, 7, 3

9 Example 7.2.2: Disjunctive graph U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,

Example 7.2.2: Iteration 1 M 0 =Set of machines already scheduled=  M 0 =Set of machines already scheduled=  Only include the conjuctive arcs Only include the conjuctive arcs Compute C max (M 0 )=22 Compute C max (M 0 )=22 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,

11 Ex : Iter. 1 Which machine to sched. first? Solve 1|r j |L max for each machine i Solve 1|r j |L max for each machine i –Release dates r ij =longest path from U to node (i,j) r ij =longest path from U to node (i,j) –Due dates d ij = C max (M 0 ) d ij = C max (M 0 ) - longest path from (i,j) to V - longest path from (i,j) to V + p ij + p ij The machine with the largest minimum L max is the bottleneck machine The machine with the largest minimum L max is the bottleneck machine

12 Ex : Iter. 1. 1|r j |L max Machine 1: Machine 1: –How do we solve this problem? –Branch and bound algorithm gives L max (1)=5 Machine 2: Machine 2: –Branch and bound algorithm gives L max (2)=5 job j 123 p 1j 1034 r 1j 080 d 1j job j 123 p 2j 887 r 2j 1004 d 2j 18819

13 Ex : Iter. 1. 1|r j |L max Machine 3: Machine 3: –Only 2 schedules! L max (3)=4 Machine 4: Machine 4: –Only 2 schedules… L max (4)=0 job j 123 p 3j 46- r 3j d 3j job j 123 p 4j -53 r 4j d 4j -1622

14 Ex : Iter. 1 Which machine to sched. first? (2) Machines 1 and 2 both have a minimum L max of 5 Machines 1 and 2 both have a minimum L max of 5 We can choose either machine so let’s pick machine 1 => M 0 ={1} We can choose either machine so let’s pick machine 1 => M 0 ={1} U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,

15 Ex : Iteration 2 Compute C max (M 0 )=27 Compute C max (M 0 )=27 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,

16 Ex : Iteration 2. 1|r j |L max Machine 2 Machine 2 –B&b algorithm gives L max (2)=1 w/sequence Machine 3 Machine 3 –L max (3)=1 w/sequences 1-2 and 2-1 Machine 4 Machine 4 –L max (4)=0 w/sequence 2-3 Add machine 2 to M 0 so M 0 ={1,2} Add machine 2 to M 0 so M 0 ={1,2} job j 123 p 2j 887 r 2j d 2j job j 123 p 4j -53 r 4j d 4j -2127

17 Ex : Iteration 2 Resequencing Should we re- sequence machine 1 to decrease C max (M 0 )? Should we re- sequence machine 1 to decrease C max (M 0 )? gives L max (1)= gives L max (1)=0 –which is optimal since lateness of job 1 increases if it is delayed Do not resequence machine 1 Do not resequence machine 1 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34, job j 123 p 1j 1034 r 1j 080 d 1j

18 Ex : Iteration 3 Compute C max (M 0 )=28 Compute C max (M 0 )=28 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,

19 Ex : Iteration 3. 1|r j |L max Machine 3 Machine 3 –L max (3)=0 Machine 4 Machine 4 –L max (4)=0 w/sequence 2-3 job j 123 p 3j 46- r 3j d 3j job j 123 p 4j -53 r 4j d 4j -2228

20 Ex : Iteration 3 Conclusion Sequencing machines 3 and 4 does not increase the makespan of C max (M 0 )=28 Sequencing machines 3 and 4 does not increase the makespan of C max (M 0 )=28 –No need to try to resequence U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,

21 Ex : Gantt chart

22 Algorithm 7.2.1: The shifting bottleneck heuristic 1. Initialization. Set M 0 = . Graph G contains only the conjunctive arcs 2. Solve a maximum lateness problem for each machine that has not been sequenced. 3. Sequence the machine that has the maximum minimum maximum lateness 4. Add it to M 0 and add the disjunctive arcs to G for that machine 5. Resequence all machines in M 0 one at a time, except the last added machine. Modify the disjunctive constraints accordingly 6. Stop if all machines have been sequenced, otherwise go to step 2.

23 An implementation issue with the heuristic Recall: The disjunctive constraints must be selected such that the resulting graph is acyclic Recall: The disjunctive constraints must be selected such that the resulting graph is acyclic In the SBH heuristic a cycle can be created In the SBH heuristic a cycle can be created This can be prevented by adding precedence constraints (arcs) having a delay (a positive weight) This can be prevented by adding precedence constraints (arcs) having a delay (a positive weight)

24 Example Delayed precedence constraints job machine sequence processing times 1 1, 2 p 11 =1, p 21 =1 22,1 1,