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.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
Traveling Salesperson Problem
Lecture 6: Job Shop Scheduling Introduction
1 IOE/MFG 543 Chapter 8: Open shops Section 8.1 (you may skip Sections 8.2 – 8.5)
Evaluating Heuristics for the Fixed-Predecessor Subproblem of Pm | prec, p j = 1 | C max.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
THE SINGLE MACHINE EARLY/TARDY PROBLEM* PENG SI OW & THOMAS E. MORTON IE Paper Presentation A. İrfan Mahmutoğulları *Ow, P. S., & Morton, T. E. (1989).
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
1 Single Machine Deterministic Models Jobs: J 1, J 2,..., J n Assumptions: The machine is always available throughout the scheduling period. The machine.
Chapter 2: Model of scheduling problem Components of any model: Decision variables –What we can change to optimize the system, i.e., model output Parameters.
Genetic Algorithms for multiple resource constraints Production Scheduling with multiple levels of product structure By : Pupong Pongcharoen (Ph.D. Research.
1 Methodological Basics. Layout and DesignKapitel 1 / 2 (c) Prof. Richard F. Hartl 1.1 Complexity  We solve problems in production and logistics by using:
The Theory of NP-Completeness
21st European Conference on Operational Research Algorithms for flexible flow shop problems with unrelated parallel machines, setup times and dual criteria.
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
Ant Colony Optimization Optimisation Methods. Overview.
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
Ch 13 – Backtracking + Branch-and-Bound
1 IOE/MFG 543 Chapter 3: Single machine models (Sections )
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
Priority Models Sashka Davis University of California, San Diego June 1, 2003.
Ch. 11: Optimization and Search Stephen Marsland, Machine Learning: An Algorithmic Perspective. CRC 2009 some slides from Stephen Marsland, some images.
Lecture 8: Dispatch Rules
INTRODUCTION TO SCHEDULING
Introduction to LEKIN Gareth Beddoe
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.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
SOFTWARE / HARDWARE PARTITIONING TECHNIQUES SHaPES: A New Approach.
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.
Speaker: Yoni Rozenshein Instructor: Prof. Zeev Nutov.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Decision Diagrams for Sequencing and Scheduling Andre Augusto Cire Joint work with David Bergman, Willem-Jan van Hoeve, and John Hooker Tepper School of.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Memory Allocation of Multi programming using Permutation Graph By Bhavani Duggineni.
1 Operation Scheduling- II The Multi-Machine Case Look! There are two machines.
Outline Introduction Minimizing the makespan Minimizing total flowtime
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Outline Problem Definition Related Works & Complexity MILP Formulation Solution Algorithms Computational Experiments Conclusions & Future Research 1/26.
Prof. Yuan-Shyi Peter Chiu
Production SchedulingP.C. Chang, IEM, YZU. 1 Hybrid Algorithm for mean T Hybrid Algorithm : Dominance matrix to decompose problem in to sub-problems. Branch.
1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to Gerhard Woeginger James B. Orlin MIT working jointly with.
Production SchedulingP.C. Chang, IEM, YZU. 1 How to schedule ?? How to find 1. an efficient Heuristic? 2. the optimal solution?
Branch-and-Bound & Beam-Search. Branch and bound Enumeration in a search tree each node is a partial solution, i.e. a part of the solution space... root.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Raunak Singh (ras2192) IEOR 4405: Production Scheduling 28 th April 2009.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Flow Shop Scheduling.
Scheduling with Constraint Programming
Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph
Lecture 8: Dispatch Rules
Shop Scheduling Problem
Informed Search and Exploration
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.
Integer Programming (정수계획법)
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Topic 15 Job Shop Scheduling.
IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
Single Machine Deterministic Models
Major Design Strategies
Major Design Strategies
Presentation transcript:

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 Operations Management” by Davis, Aquilano, Chase (1999) Flow Shop A4A4 C3C3

Product A Product B Product C A1A1 A2A2 A3A3 B1B1 B2B2 B3B3 B4B4 B5B5 C1C1 C2C2 C3C3 C4C4 A4A4 A5A5 Turret lathes Vertical mills Center lathes Drills Horizontal mills Shapers Grinders From “Fundamentals of Operations Management” by Davis, Aquilano, Chase (1999) Job Shop

Complexity Polynomially solvable m =2 m =3 n =2 n =3 NP-hard

Job Shop: Two Machines Consider now problem J 2| | C max. The set of jobs N= {1,…,n } can be split into two subsets: N AB - the jobs that consist of two operations with the processing route ( A, B ) N BA - the jobs that consist of two operations with the processing route ( B, A ) B A N AB N BA The algorithm presented below is due to R. Jackson (1956). Jackson's Algorithm 1.Run Johnson's algorithm with the set of jobs N AB and find the corresponding sequence R AB. 2.Run Johnson's algorithm with the set of jobs N BA and find the corresponding sequence R BA. 3.On machine A, first schedule N AB according to R AB and then N BA according to R BA. 4.On machine B, first schedule N BA according to R BA and then N AB according to R AB. N AB N BA

Job Shop: Two Machines Example Consider Problem J2 | | C max j ajaj bjbj

p 32 Job Shop: Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 Disjunctive Graph Model Job 1 Job 2 Job 3 2,13,1 1,11,23,2 2,2 4,2 2,34,3 1,3 p 11 p 21 p 31 ST p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,2 3,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Disjunctive Graph Model 2,13,1 1,11,23,2 2,2 4,2 2,34,3 1,3 S T Disjunctive graph G =( N, A, B ): Nodes N correspond to all operations Conjunctive arcs A represent the precedence relations between operations of a single job Disjunctive arcs B link the operations processed by the same machine p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43

Job Shop: Branch & Bound S T - Operations 1, 2, …, q - O denotes the set of “schedulable operations” (whose predecessors have already been scheduled ) - “Scheduling” of operation i means replacing each pair of disjunctive arcs incident to i by a conjunctive arc starting from i p7p7 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p8p8 p9p9 p 10

Job Shop: Branch & Bound ST ST ST ST ST ST ST

Job Shop: Branch & Bound ST Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3

0 LB=22 4 LB=22 4 LB=22 LB=max{10+8+4, , , 4+7+3} ST LB = max{10+8+4, , 4+7+3} =22 1 LB=24 8 LB=26 Operation scheduled

ST LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 10

ST LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 10

ST LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 1 LB=24 8 LB=26 1 LB=24 5 LB=33 10

ST LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 1 LB=24 8 LB=26 1 LB=24 5 LB=33 10

1 LB=24 4 LB= ST LB=22 1 LB=24 8 LB=26 8 LB=26 5 LB=33 2 LB=28 8 LB=28 5 LB=27 5 LB=27 10

1 LB=24 4 LB= ST LB=22 1 LB=24 8 LB=26 8 LB=26 5 LB=33 2 LB=28 8 LB=28 5 LB=27 5 LB=27 10

1 LB=24 4 LB= ST LB=22 1 LB=24 8 LB=26 8 LB=26 5 LB=33 2 LB=28 8 LB=28 5 LB=27 5 LB=27 10

, ,9, Similar , ,9,

Job Shop: Branch & Bound Advantages of Branch & Bound algorithm: -Finds an optimal solution Disadvantages of Branch & Bound algorithm: -Extremely time-consuming: the number of nodes in a branching tree can be too large. Algorithm can construct several feasible schedules and then develop “bad” branches of the tree. The number of the nodes grows exponentially without improving the best solution obtained.

Job Shop: Branch & Bound 10  10 = 930 -Fischer and Thompson (1963) posed a small example of the jobs shop problem with 10 jobs and 10 machines. -The example remained open for more than 25 years. -It was finally solved by - Carlier & Pinson (1989) - Applegate & Cook (1991) - Brucker, Jurisch & Sievers (1994) Job shop problem remains one of the most difficult combinatorial problems to date, and always arouses new research interest.

Job Shop: Branch & Bound With Beam Search only the most promising nodes at level k are selected as nodes to branch from. The remaining nodes at that level are discarded permanently. The beam width of the search is the number of nodes retained in the tree. The choice of the promising nodes is crucial. - Evaluating each node carefully is time-consuming. - A crude prediction is quick but it may result in discarding good solutions. Beam Search Two-Stage Approach: 1.For all bodes generated at a particular level of the tree, do a crude evaluation (speed). 2.Select the best nodes for the thorough evaluation (accuracy). 3.After thorough evaluation is done, select the most promising nodes. The number of nodes selected is the filter width. The number of nodes selected is the beam width.

Beam Search Job Shop: Example of crude prediction: the contribution of the partial schedule to the objective function (the length of the critical path in the graph after some operation has been scheduled). Example of thorough evaluation: all the jobs that have not yet been scheduled are scheduled according to composite dispatching rule.

No filtering. Beam width = 2

No filtering. Beam width =

No filtering. Beam width = , ,

No filtering. Beam width = , ,

No filtering. Beam width = , , ,9, ,9,

No filtering. Beam width = , , ,9, ,9,

No filtering. Beam width = , , ,9, ,9,

No filtering. Beam width = , , ,9, ,9,

Dispatching Rules A dispatching rule is a rule that prioritises all the jobs that are awaiting for processing on a machine. Whenever a machine has been freed, a dispatching rule inspects the waiting jobs and selects the job with the highest priority.

Dispatching Rules Rules dependent on processing times and weights

tt + p j djdj Slack j Dispatching Rules Rules dependent on release and due dates M1M1 j

Dispatching Rules The basic dispatching rules are of limited use: —when a complex objective has to be minimised, none of the basic dispatching rules can perform effectively; —combination of basic dispatching rules can perform significantly better. Composite Dispatching Rules —It is a ranking expression that combines a number of basic dispatching rules. —Each basic rule in the composite dispatching rule has its own scaling parameter that is chosen to properly scale the contribution of the basic rule to the total ranking expression.

Dispatching Rules Consider 1 ||  w j T j, which is NP-hard in the strong sense. A heuristic is needed which provides a reasonably good solution with a reasonable computational effort. Appropriate basic dispatching rules: — WSPT (optimal for  w j C j ), — EDD, MS (optimal when due dates are loose and spread out) Example:

Dispatching Rules Composite Dispatching Rule ATC - Apparent Tardiness Cost - combines WSPT and MS - jobs are scheduled one at a time: every time the machine becomes free, a ranking index is computed for each remaining job and the job with the highest ranking index is then selected to be processed next.

Dispatching Rules Advantages of dispatching rules:  Very simple to implement  Fast  Can find a reasonably good solution in a relatively short time  Optimal for special cases Disadvantages of dispatching rules:  Limited use in practice  Can find unpredictably bad solution

Scheduling Algorithms Algorithms Classification Exact Algorithms Heuristic Algorithms Approximation Algorithms Construction Heuristics Improvement Heuristics Exact Algorithms

Scheduling Algorithms Johnson’s algorithm Branch & Bound Dispatching rules Local Search Algorithms Classification Exact Algorithms Heuristic Algorithms Approximation Algorithms Construction Heuristics Improvement Heuristics

Choosing an Algorithm Time 40% 30% 20% 10% Dispatching rules Branch & BoundLocal Search Feasible Solutions Error bound