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
FLOW SHOPS: F2||Cmax. FLOW SHOPS: JOHNSON'S RULE2 FLOW SHOP SCHEDULING (n JOBS, m MACHINES) n JOBS BANK OF m MACHINES (SERIES) n M1 M2Mm.
© J. Christopher Beck Lecture 7: Shifting Bottleneck.
Branch and Bound Example. Initial lower bound Jrpd Use 1 machine preemptive schedule as lower bound Job 2 has a lateness of 5,
1 IOE/MFG 543 Chapter 8: Open shops Section 8.1 (you may skip Sections 8.2 – 8.5)
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Chapter 5 Shortest Paths: Label-Correcting Algorithms
Lecture 10: Integer Programming & Branch-and-Bound
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Lateness Models Contents
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
1 IOE/MFG 543* Chapter 1: Introduction *Based in part on material from Izak Duenyas, University of Michigan, Scott Grasman, University of Missouri, Rakesh.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
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 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
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.
15.082J and 6.855J and ESD.78J November 2, 2010 Network Flow Duality and Applications of Network Flows.
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.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Lecture 9: Simplified Shifting Bottleneck
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
© J. Christopher Beck Lecture 10: (Full) Shifting Bottleneck.
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
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.
Classification of Scheduling Problems
Scheduling with Constraint Programming
Approximation Algorithms for Scheduling
Some Topics in OR.
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
EMIS 8373: Integer Programming
Deterministic Models: Preliminaries
The Taxi Scheduling Problem
CS223 Advanced Data Structures and Algorithms
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
The basics of scheduling
Deterministic Models: Preliminaries
Integer Programming (정수계획법)
Modeling Scheduling Problems
Introduction to Scheduling Chapter 1
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
Chapter 6: Flow shops Sections 6.1 and 6.2 (skip section 6.3)
Richard Anderson Lecture 6 Greedy Algorithms
Planning and Scheduling in Manufacturing and Services
Richard Anderson Autumn 2016 Lecture 7
Integer Programming (정수계획법)
Richard Anderson Lecture 7 Greedy Algorithms
Algorithm Design Methods
Topic 15 Job Shop Scheduling.
Branch and Bound Example
IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
Richard Anderson Autumn 2015 Lecture 7
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
Richard Anderson Autumn 2019 Lecture 7
Presentation transcript:

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

Job shop (Jm) m machines, n jobs 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||Cmax is NP-hard) If a job is to be processed on the same machine more than once => recirculation

Section 7.1. Disjunctive graph for Jm||Cmax In Jm||Cmax there is no recirculation 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 Let N denote the set of nodes The arc from node (i,j) has weight pij The arcs going out of the source node have zero weights Let A denote the set of arcs

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) 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 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

Using the graph to find a feasible schedule 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 The makespan of the schedule is determined by the critical path method

Minimizing the makespan To minimize the makespan we need to select the arcs that results in a schedule that minimizes the makespan Disjunctive program yij is the starting time of operation (i,j) minimize Cmax subject to ykj-yij≥pij  (i,j)(k,j) Cmax-yij≥ pij  (i,j) yij-yil≥pil or yil-yij≥pij  (i,l) and (i,j) , i=1,…,m yij≥0

Minimizing the makespan (2) 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

Section 7.2: The shifting bottleneck heuristic Example 7.2.2 job machine sequence processing times 1 1, 2, 3 p11=10, p21=8, p31=4 2 2, 1, 4, 3 8, 3, 5, 6 3 1, 2, 4 4, 7, 3

Example 7.2.2: Disjunctive graph 10 8 1,1 2,1 3,1 4 5 6 8 3 V U 2,2 1,2 4,2 3,2 3 4 7 1,3 2,3 4,3

Example 7.2.2: Iteration 1 M0=Set of machines already scheduled= Only include the conjuctive arcs Compute Cmax(M0)=22 10 8 1,1 2,1 3,1 4 5 6 8 3 V U 2,2 1,2 4,2 3,2 3 4 7 1,3 2,3 4,3

Ex. 7.2.2: Iter. 1 Which machine to sched. first? Solve 1|rj|Lmax for each machine i Release dates rij=longest path from U to node (i,j) Due dates dij= Cmax(M0) - longest path from (i,j) to V + pij The machine with the largest minimum Lmax is the bottleneck machine

Ex. 7.2.2: Iter. 1. 1|rj|Lmax job j 1 2 3 p1j 10 4 r1j 8 d1j 11 12 8 d1j 11 12 Machine 1: How do we solve this problem? Branch and bound algorithm gives Lmax(1)=5 Machine 2: Branch and bound algorithm gives Lmax(2)=5 job j 1 2 3 p2j 8 7 r2j 10 4 d2j 18 19

Ex. 7.2.2: Iter. 1. 1|rj|Lmax job j 1 2 3 p3j 4 6 - r3j 18 16 d3j 22 Machine 3: Only 2 schedules! Lmax(3)=4 Machine 4: Only 2 schedules… Lmax(4)=0 job j 1 2 3 p4j - 5 r4j 11 d4j 16 22

Ex. 7.2.2: Iter. 1 Which machine to sched. first? (2) Machines 1 and 2 both have a minimum Lmax of 5 We can choose either machine so let’s pick machine 1 => M0={1} 10 8 1,1 2,1 3,1 4 10 5 6 8 3 V U 2,2 1,2 4,2 3,2 3 3 4 7 1,3 2,3 4,3

Ex. 7.2.2: Iteration 2 Compute Cmax(M0)=27 10 8 1,1 2,1 3,1 4 10 5 6 8 5 6 8 3 V U 2,2 1,2 4,2 3,2 3 3 4 7 1,3 2,3 4,3

Ex. 7.2.2: Iteration 2. 1|rj|Lmax Machine 2 B&b algorithm gives Lmax(2)=1 w/sequence 2-1-3 Machine 3 Lmax(3)=1 w/sequences 1-2 and 2-1 Machine 4 Lmax(4)=0 w/sequence 2-3 Add machine 2 to M0 so M0={1,2} job j 1 2 3 p2j 8 7 r2j 10 17 d2j 23 24 job j 1 2 3 p4j - 5 r4j 13 24 d4j 21 27

Ex. 7.2.2: Iteration 2 Resequencing 10 8 Should we re-sequence machine 1 to decrease Cmax(M0)? 1-2-3 gives Lmax(1)=0 which is optimal since lateness of job 1 increases if it is delayed Do not resequence machine 1 1,1 2,1 3,1 4 8 5 6 8 3 V U 2,2 1,2 4,2 3,2 8 3 4 7 1,3 2,3 4,3 job j 1 2 3 p1j 10 4 r1j 8 d1j 17 18

Ex. 7.2.2: Iteration 3 Compute Cmax(M0)=28 10 8 1,1 2,1 3,1 4 10 8 8 5 10 8 8 5 6 8 3 V U 2,2 1,2 4,2 3,2 3 3 4 7 1,3 2,3 4,3

Ex. 7.2.2: Iteration 3. 1|rj|Lmax Machine 3 Lmax(3)=0 Machine 4 Lmax(4)=0 w/sequence 2-3 job j 1 2 3 p3j 4 6 - r3j 18 d3j 28 job j 1 2 3 p4j - 5 r4j 13 25 d4j 22 28

Ex. 7.2.2: Iteration 3 Conclusion Sequencing machines 3 and 4 does not increase the makespan of Cmax(M0)=28 No need to try to resequence 10 8 1,1 2,1 3,1 4 4 10 8 8 5 6 8 3 V U 2,2 1,2 4,2 3,2 5 3 3 4 7 1,3 2,3 4,3

Ex. 7.2.2: Gantt chart 17 8 10 13 18 22 25 28 1 2 3 2 1 3 1 2 2 3

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

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

Example 7.2.3. Delayed precedence constraints job machine sequence processing times 1 1, 2 p11=1, p21=1 2 2,1 1, 1 3 4