Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph

Slides:



Advertisements
Similar presentations
1 Tabu Search Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Advertisements

1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
© J. Christopher Beck Lecture 7: Shifting Bottleneck.
Contents College 4 §4.1, §4.2, §4.4, §4.6 Extra literature on resource constrained project scheduling (will be handed out)
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Lecture 10: Integer Programming & Branch-and-Bound
1 Welcome to G53ASD AUTOMATED SCHEDULING Lecturer: Dr. Sanja Petrovic School of Computer Science and Information Technology The.
Lateness Models Contents
1 Project Scheduling Contents 1. Problem Statement 2. Critical Path Method 3. Extensions to the classical project scheduling problems Literature Operations.
Spring, Scheduling Operations. Spring, Scheduling Problems in Operations Job Shop Scheduling. Personnel Scheduling Facilities Scheduling.
Vehicle Routing & Scheduling: Part 1
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
1 Tardiness Models Contents 1. Moor’s algorithm which gives an optimal schedule with the minimum number of tardy jobs 1 ||  U j 2. An algorithm which.
1 Single Machine Deterministic Models Jobs: J 1, J 2,..., J n Assumptions: The machine is always available throughout the scheduling period. The machine.
1 Set #1 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
1 Set # 3 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
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)
Lot sizing and scheduling
Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has.
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.
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
© J. Christopher Beck Lecture 5: Project Planning 2.
1 Design of Scheduling Systems Contents 1. Architecture of Scheduling Systems 2. Databases, Object Bases, Knowledge Bases 3. Schedule Generation 4. User.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
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.
Lecture 9: Simplified Shifting Bottleneck
Complete Graphs A complete graph is one where there is an edge between every two nodes A C B G.
Layout and Design Kapitel 4 / 1 (c) Prof. Richard F. Hartl Flow shop production Object-oriented Assignment is derived from the item´s work plans. Uniform.
1 Lecturer: Dr Sanja Petrovic School of Computer Science and Information Technology
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
1 Revision Main textbooks: Operations Scheduling with Applications in Manufacturing and Services, Michael Pinedo and Xiuli Chao, McGraw Hill, Scheduling,
1 Simulated Annealing Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
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.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
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 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Classification of Scheduling Problems
Some Topics in OR.
CHAPTER 8 Operations Scheduling
The minimum cost flow problem
Basic Project Scheduling
Project Scheduling Contents 1. Problem Statement
Basic Project Scheduling
Shop Scheduling Problem
Employee Timetabling Contents
Design and Analysis of Algorithm
Deterministic Models: Preliminaries
General Purpose Procedures Applied to Scheduling
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
ICS 353: Design and Analysis of Algorithms
Deterministic Models: Preliminaries
Integer Programming (정수계획법)
Modeling Scheduling Problems
Planning and Scheduling in Manufacturing and Services
Flow shop production Object-oriented
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Integer Programming (정수계획법)
Topic 15 Job Shop Scheduling.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Single Machine Deterministic Models
Presentation transcript:

Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph 3. The Shifting Bottleneck Heuristic and the Makespan Operations Scheduling with Applications in Manufacturing and Services, Michael Pinedo and Xiuli Chao, McGraw Hill, 2000, Chapter 5 Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995 Chapter 6. Automated Scheduling, School of Computer Science and IT, University of Nottingham

Literature: 1. Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995, or new: Second Addition, 2002 Chapter 6 or 2. Operations Scheduling with Applications in Manufacturing and Services, Michael Pinedo and Xiuli Chao, McGraw Hill, 2000 Chapter 5 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Problem Statement Job shop environment: m machines, n jobs objective function each job follows a predetermined route routes are not necessarily the same for each job machine can be visited once or more than once (recirculation) NP hard problems Automated Scheduling, School of Computer Science and IT, University of Nottingham

Disjunctive Graph Example of a job shop problem: 4 machines and 3 jobs 1,3 1,1 1,2 2,3 2,1 4,2 4,3 3,1 3,2 T 2,2 Automated Scheduling, School of Computer Science and IT, University of Nottingham

(i, j) processing of job j on machine i Jm | | Cmax (i, j) processing of job j on machine i pij processing time of job j on machine i G = (N, AB) (i, j)N all the operations that must be performed on the n jobs A conjunctive (solid) arcs represent the precedence relationships between the processing operations of a single job B disjunctive (broken) arcs connect two operations which belong to two different jobs, that are to be processed on the same machine, they go in opposite directions Disjunctive arcs form a clique for each machine. Clique is a maximal subgraph in which all pairs of nodes are connected with each other. Operations in the same clique have to be done on the same machine. Automated Scheduling, School of Computer Science and IT, University of Nottingham

How to construct a feasible schedule? Select D - a subset of disjunctive arcs (one from each pair) such that the resulting directed graph G(D) has no cycles. Graph G(D) contains conjunctive arcs + D. D represents a feasible schedule. A cycle in the graph corresponds to a schedule that is infeasible. Example invalid h,j i,j machine i j k machine h k j i,k h,k Automated Scheduling, School of Computer Science and IT, University of Nottingham

10 8 1,1 2,1 3,1 4 8 3 5 6 S 2,2 1,2 4,2 3,2 T 3 4 7 1,3 2,3 4,3 The makespan of a feasible schedule is determined by the longest path in G(D) from S to T. Minimise makespan: find a selection of disjunctive arcs that minimises the length of the longest path (the critical path). Automated Scheduling, School of Computer Science and IT, University of Nottingham

The Shifting Bottleneck Heuristic and the Makespan Idea: A classic idea in nonlinear programming is to hold all but one variable fixed and then optimise over that variable. Then hold all but a different one fixed, and so on. Furthermore, if we can do the one-variable optimisation in order of decreasing importance, there is better hope that the local optimum so found will be the global one, or close to it. In job shop problems fixing the value of variable means fixing the sequence in which jobs are to be processed on a given machine. Idea: Heuristic Scheduling Systems, page 224 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Analysis of machines still to be scheduled Iteration M set of m machines M0  M machines for which sequence of jobs has already been determined in previous iterations Analysis of machines still to be scheduled i{M-M0} pij S i,j T Define a single-machine problem 1 | rj | Lmax for machine i Automated Scheduling, School of Computer Science and IT, University of Nottingham

A machine k with the largest maximum lateness is a bottleneck. Bottleneck selection A machine k with the largest maximum lateness is a bottleneck. 1. Schedule machine k according to the sequence which minimises the corresponding Lmax (single-machine problem). 2. Insert all the corresponding disjunctive arcs in the graph. 3. Insert machine k in M0. Cmax(M0  k)  Cmax(M0) + Lmax(k) Automated Scheduling, School of Computer Science and IT, University of Nottingham

Resequencing of all machines scheduled earlier Aim: to reduce the makespan Do for each machine l{M0 - k} delete the disjunctive arcs associated with the machine l formulate a single machine problem for the machine l and find the sequence that minimises Lmax(l) Insert the corresponding disjunctive arcs. Automated Scheduling, School of Computer Science and IT, University of Nottingham

Shifting Bottleneck Algorithm Step 1. Set the initial conditions M0 =  set of scheduled machines. Graph G is the graph with all the conjunctive arcs and no disjunctive arcs. Set Cmax() equal to the longest path in graph G. Step 2. Analysis of the machines still to be scheduled Solve the simple problem for each machine still to be scheduled: formulate a single machine problem with all operations subject to release dates and due dates. Step 3. Bottleneck selection The machine with the highest cost is designated the bottleneck. Insert all the corresponding disjunctive arcs in graph G. Insert machine which is the bottleneck in M0 . Automated Scheduling, School of Computer Science and IT, University of Nottingham

Step 4. Resequencing of all the machines scheduled earlier Find the sequence that minimised the cost and insert the corresponding disjunctive arcs in graph G. Step 5. Stopping condition If all the machines are scheduled (M0 = M) then STOP else go to Step 2. Automated Scheduling, School of Computer Science and IT, University of Nottingham

Example. S 1,3 1,1 1,2 2,3 2,1 4,2 4,3 3,1 3,2 T 2,2 10 8 4 3 5 6 7 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Iteration 1. M0 =  Cmax()=22 Machine 1 S 1,3 1,1 1,2 2,3 2,1 4,2 4,3 3,1 3,2 T 2,2 10 8 4 3 5 6 7 Machine 1 Lmax(1, 2, 3) = max {0, 2, 5} = 5 Lmax(1, 3, 2) = max {0, 2, 6} = 6 Lmax(2, 1, 3) = max {0, 11,...} >11 Lmax(2, 3, 1) = max {0, 3, 15} = 15 Lmax(3, 1, 2) = max {-8, 4, 6} = 6 Lmax(3, 2, 1) = max {-8, 0, 15} = 15 1,2,3 Lmax(1)=5 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Machine 2 Lmax(1, 2, 3) = max {0, 16, 14} = 16 S 1,3 1,1 1,2 2,3 2,1 4,2 4,3 3,1 3,2 T 2,2 10 8 4 3 5 6 7 Machine 2 Lmax(1, 2, 3) = max {0, 16, 14} = 16 Lmax(1, 3, 2) = max {0, 6, 25} = 25 Lmax(2, 1, 3) = max {0, 0, 6} = 6 Lmax(2, 3, 1) = max {0, -4, 5} = 5 Lmax(3, 1, 2) = max {-8, 1, 19} = 19 Lmax(3, 2, 1) = max {-8, 7, 5} = 7 2,3,1 Lmax(2)=5 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Machine 3 Lmax(1, 2) = max {0, 6} = 6 Lmax(2, 1) = max {0, 4} = 4 S 1,3 1,1 1,2 2,3 2,1 4,2 4,3 3,1 3,2 T 2,2 10 8 4 3 5 6 7 Machine 3 Lmax(1, 2) = max {0, 6} = 6 Lmax(2, 1) = max {0, 4} = 4 Lmax(3)=4 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Machine 4 Lmax(2, 3) = max {0, -3} = 0 Lmax(3, 2) = max {-8, 3} = 3 S 1,3 1,1 1,2 2,3 2,1 4,2 4,3 3,1 3,2 T 2,2 10 8 4 3 5 6 7 Machine 4 Lmax(2, 3) = max {0, -3} = 0 Lmax(3, 2) = max {-8, 3} = 3 Lmax(4)=3 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Machines 1 and 2 are bottlenecks. Machine 1 is chosen as a bottleneck! Lmax(2)=5 2,3,1 Lmax(1)=5 1,2,3 Lmax(3)=4 Lmax(4)=3 Machines 1 and 2 are bottlenecks. Machine 1 is chosen as a bottleneck! Automated Scheduling, School of Computer Science and IT, University of Nottingham

Cmax({1}) = Cmax() + Lmax(1) = 22 + 5 = 27 10 8 1,1 2,1 3,1 4 10 8 3 5 6 S 2,2 1,2 4,2 3,2 T 3 3 4 7 1,3 2,3 4,3 Cmax({1}) = Cmax() + Lmax(1) = 22 + 5 = 27 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Iteration 2. M0 = {1}, Cmax({1})=27 Machine 2 2,1,3 Lmax(2)=1 10 8 1,1 3,1 4 10 8 3 5 6 S 2,2 1,2 4,2 3,2 T 3 3 4 7 1,3 2,3 4,3 Machine 2 2,1,3 Lmax(2)=1 Automated Scheduling, School of Computer Science and IT, University of Nottingham

Machines 2 and 3 are bottlenecks. Machine 2 is chosen as a bottleneck! 1,2 or 2,1 Lmax(3)=1 Machine 4 Lmax(4)=0 Machines 2 and 3 are bottlenecks. Machine 2 is chosen as a bottleneck! Automated Scheduling, School of Computer Science and IT, University of Nottingham

Cmax({1,2}) = Cmax({1}) + Lmax(2) = 27 + 1 = 28 10 8 1,1 2,1 3,1 10 4 8 8 8 3 5 6 S 2,2 1,2 4,2 3,2 T 3 3 4 7 1,3 2,3 4,3 Cmax({1,2}) = Cmax({1}) + Lmax(2) = 27 + 1 = 28 Can we decrease Cmax({1,2}) ? Will resequencing machine 1 give any improvement ? Automated Scheduling, School of Computer Science and IT, University of Nottingham

  Cmax({1,2}) = 28 Machine 1 Lmax(1, 2, 3) = max {0, -4, -1} = 0 10 8 1,1  2,1 3,1 10 4 8 8 8 3 5 6 S 2,2 1,2 4,2 3,2 T  3 3 4 7 1,3 2,3 4,3 Cmax({1,2}) = 28 Machine 1 Lmax(1, 2, 3) = max {0, -4, -1} = 0 Lmax(1, 3, 2) = max {0, -4, 0} = 0 Lmax(2, 1, 3) = max {-6, 11,7} =11 Lmax(2, 3, 1) = max {-6, -3, 15} = 15 Lmax(3, 1, 2) = max {-14, 4, 0} = 4 Lmax(3, 2, 1) = max {-14, 2, 15} = 15 original sequence: 1,2,3 Resequencing machine 1 does not give any improvement. Automated Scheduling, School of Computer Science and IT, University of Nottingham

No machine is a bottleneck! Iteration 3. M0 = {1,2} Cmax({1,2})=28 Machine 3 1,2 or 2,1 Lmax(3) = 0 Machine 4 Lmax(4) = 0 No machine is a bottleneck! Automated Scheduling, School of Computer Science and IT, University of Nottingham

10 8 1,1 2,1 3,1 10 4 8 8 8 3 5 6 S 2,2 1,2 4,2 3,2 T 3 3 4 7 1,3 2,3 4,3 Machine 1 1 2 3 Machine 2 2 1 3 Machine 3 2 1 Machine 4 2 3 5 t 10 15 20 25 30 Automated Scheduling, School of Computer Science and IT, University of Nottingham