1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.3-3.5)

Slides:



Advertisements
Similar presentations
Algorithm Design Methods Spring 2007 CSE, POSTECH.
Advertisements

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.
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.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Lateness Models Contents
Spring, Scheduling Operations. Spring, Scheduling Problems in Operations Job Shop Scheduling. Personnel Scheduling Facilities Scheduling.
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
AMA522 SCHEDULING Set # 2 Dr. LEE Heung Wing Joseph
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Greedy vs Dynamic Programming Approach
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
1 IOE/MFG 543 Chapter 11: Stochastic single machine models with release dates.
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
1 Pseudo-polynomial time algorithm (The concept and the terminology are important) Partition Problem: Input: Finite set A=(a 1, a 2, …, a n } and a size.
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 IOE/MFG 543* Chapter 1: Introduction *Based in part on material from Izak Duenyas, University of Michigan, Scott Grasman, University of Missouri, Rakesh.
The max flow problem
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.
Accept or Reject: Can we get the work done in time? Marjan van den Akker Joint work with Han Hoogeveen.
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
8-1 Problem-Solving Examples (Preemptive Case). 8-2 Outline Preemptive job-shop scheduling problem (P-JSSP) –Problem definition –Basic search procedure.
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Section 14.4: Local search (Simulated annealing and tabu search)
Dynamic Programming 0-1 Knapsack These notes are taken from the notes by Dr. Steve Goddard at
Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.
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.
Getting rid of stochasticity (applicable sometimes) Han Hoogeveen Universiteit Utrecht Joint work with Marjan van den Akker.
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
1 IOE/MFG 543 Chapter 10: Single machine stochastic models Sections 10.1 and 10.4 You may skip Sections
Approximation Algorithms
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
Minimizing Makespan and Preemption Costs on a System of Uniform Machines Hadas Shachnai Bell Labs and The Technion IIT Tami Tamir Univ. of Washington Gerhard.
EHSAN KHODDAM MOHAMMADI MILAD GANJALIZADEH BABAK YADEGARI First Steps to Study SCHEDULING بسم الله الرحمن الرحيم.
University Dortmund Faculty of Electrical Engineering Computer Engineering Institute Scheduling Problems and Solutions Uwe Schwiegelshohn CEI University.
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
A Graphical Approach for Solving Single Machine Scheduling Problems Approximately Evgeny R. Gafarov Alexandre Dolgui Alexander A. Lazarev Frank Werner.
Extensions of the Basic Model Chapter 6 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R1.
Télécom 2A – Algo Complexity (1) Time Complexity and the divide and conquer strategy Or : how to measure algorithm run-time And : design efficient algorithms.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Approximation Schemes Open Shop Problem. O||C max and Om||C max {J 1,..., J n } is set of jobs. {M 1,..., M m } is set of machines. J i : {O i1,..., O.
Outline Introduction Minimizing the makespan Minimizing total flowtime
Chapter 18: Searching and Sorting Algorithms. Objectives In this chapter, you will: Learn the various search algorithms Implement sequential and binary.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
CS 3343: Analysis of Algorithms Lecture 18: More Examples on Dynamic Programming.
Outline Schedule and scheduling Mathematical models
Earliness and Tardiness Penalties Chapter 5 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R1.
Variations of the Prize- Collecting Steiner Tree Problem Olena Chapovska and Abraham P. Punnen Networks 2006 Reporter: Cheng-Chung Li 2006/08/28.
Prof. Yuan-Shyi Peter Chiu
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.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
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.
Flows and Networks Plan for today (lecture 6): Last time / Questions? Kelly / Whittle network Optimal design of a Kelly / Whittle network: optimisation.
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.
Single Machine Scheduling Problem Lesson 5. Maximum Lateness and Related Criteria Problem 1|r j |L max is NP-hard.
Approximation Algorithms for Scheduling Lecture 11.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Chapter 5. Optimal Matchings
Computability and Complexity
3.3 Applications of Maximum Flow and Minimum Cut
Integer Programming (정수계획법)
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 (정수계획법)
Selfish Load Balancing
IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
Single Machine Deterministic Models
Presentation transcript:

1 IOE/MFG 543 Chapter 3: Single machine models (Sections )

2 Section 3.3: Number of tardy jobs 1||  U j Number of tardy jobs Number of tardy jobs –Often used as a benchmark for managers (or % of on-time jobs) –Some jobs may have to wait really long

3 Characterization of an optimal schedule for 1||  U j Split jobs into two sets Split jobs into two sets J=Jobs that are completed on time J d =Jobs that are tardy The jobs in J are scheduled according to an EDD rule The jobs in J are scheduled according to an EDD rule The order in which the jobs in J d are completed is immaterial (since they are already tardy) The order in which the jobs in J d are completed is immaterial (since they are already tardy)

4 Algorithm for 1||  U j 1.Set J= , J d = , J c ={1,…,n} (set of jobs not yet considered for scheduling) 2.Determine job j* in J c which has the EDD, i.e, d j* =min{d j : j  J c } Add j* to J Delete j* from J c Go to 3

5 Algorithm for 1||  U j (2) 3.If due date of job j* is met, i.e., if  j  J p j ≤ d j* go to 4, otherwise let k* be the job in J which has the longest processing time, i.e., p k* =max j  J {p j } Delete k* from J Add k* to J d 4.If J c =  STOP otherwise go to 2.

6 Algorithm for 1||  U j (3) Computational complexity O(nlog(n)) Computational complexity O(nlog(n)) –If it is implemented efficiently! Theorem Theorem –Algorithm yields an optimal schedule for 1||  U j –Proof: By induction

7 Example Use Algorithm to determine the schedule that minimizes  U j Use Algorithm to determine the schedule that minimizes  U j –How many jobs are tardy? job j pjpjpjpj78466 djdjdjdj

8 Total weighted number of tardy jobs 1||  w j U j NP-hard NP-hard –No polynomial time algorithm exists If all jobs have the same due dates If all jobs have the same due dates –i.e., d=d j for all jobs –Knapsack problem=> pseudopolynomial Why not use WSPT? Why not use WSPT? –Example What happens What happens when WSPT is used? What about 2-3-1? What about 2-3-1? job j 123 pjpjpjpj11990 wjwjwjwj12989 djdjdjdj

9 Section 3.4: The total tardiness 1||  T j A more practical performance measure than the number of tardy jobs A more practical performance measure than the number of tardy jobs –May schedule the tardy jobs to minimize total tardiness The problem is NP-hard in the ordinary sense The problem is NP-hard in the ordinary sense –A pseudopolynomial dynamic programming algorithm exists

10 Dynamic programming See Appendix B See Appendix B Dynamic programming is an efficient sequential method for total enumeration Dynamic programming is an efficient sequential method for total enumeration For 1||  T j we can use Lemmas and to eliminate a number of schedules from consideration For 1||  T j we can use Lemmas and to eliminate a number of schedules from consideration

11 Lemma If p j ≤p k and d j ≤d k, then there exists an optimal sequence in which job j is scheduled before job k If p j ≤p k and d j ≤d k, then there exists an optimal sequence in which job j is scheduled before job k Proof: The result is fairly obvious, so we omit the proof (Good exercise!) Proof: The result is fairly obvious, so we omit the proof (Good exercise!) Consequences: Consequences: –We can eliminate from consideration all sequences that do not satisfy this condition

12 Lemma For some job k let C' k be the latest completion time of job in any optimal sequence S' For some job k let C' k be the latest completion time of job in any optimal sequence S' Consider two sets of due dates: d 1, …, d n and d 1, …,d k-1,max(d k,C' k ), d k+1, d n Consider two sets of due dates: d 1, …, d n and d 1, …,d k-1,max(d k,C' k ), d k+1, d n –S' is optimal for the first set and S'' is optimal for the second set Lemma: Any sequence that is optimal for the second set of due dates is optimal for the first set as well Lemma: Any sequence that is optimal for the second set of due dates is optimal for the first set as well –Proof: –Proof: Skip

13 Enumerate the jobs by increasing due dates Assume d 1 ≤d 2 ≤…≤d n Assume d 1 ≤d 2 ≤…≤d n Let job k be such that p k =max(p 1,…,p n ) Let job k be such that p k =max(p 1,…,p n ) –Lemma 3.4.1=> there is an optimal sequence such that jobs 1,…,k-1 are scheduled before job k –The n-k jobs k+1,…,n are scheduled either before or after job k

14 Lemma There exists an integer , 0≤  ≤n-k, such that there is an optimal sequence S in which job k is preceded by all jobs j with j≤k+  and followed by all jobs j with j>k+  There exists an integer , 0≤  ≤n-k, such that there is an optimal sequence S in which job k is preceded by all jobs j with j≤k+  and followed by all jobs j with j>k+  –Effectively reduces the number of schedules to be considered –Proof: –Proof: Skip

15 Consequences of Lemma There is an optimal sequence that processes the jobs in this order: There is an optimal sequence that processes the jobs in this order: 1. jobs 1,2,…,k-1,k+1,…,k+  in some order 2. job k 3. jobs k+  +1, k+  +2, …, k+n in some order How do we determine this sequence? How do we determine this sequence? –Algorithm

16 Notation for Algorithm  C k (  )=  j≤k+  p j is the completion time of job k  J(j,l,k) is the set of jobs in {j,j+1,…,l} that have a processing time less than or equal to job k and excludes job k itself  V(J(j,l,k),t) is the total tardiness of the jobs in J(j,l,k) under an optimal sequence assuming that this set starts processing at time t  k' is the job in J(j,l,k) with the largest processing time, i.e., p k' =max{p j : j  J(j,l,k)}

17 Algorithm for 1||  T j Initial conditions Initial conditionsV(Ø,t)=0 V({j},t)=max(0,t+p j -d j ) Recursive relation Recursive relation V(J(j,l,k),t)=min  {V(J(j,k'+ ,k'),t) +max(0,C k' (  )-d k' )+V(J(k'+  +1,l,k'),)} V(J(j,l,k),t)=min  {V(J(j,k'+ ,k'),t) +max(0,C k' (  )-d k' )+V(J(k'+  +1,l,k'),C k' (  ))} Optimal value function: Optimal value function:V({1,…,n},0)

18 The complexity of Algorithm At most n 3 subsets J(j,l,k) At most n 3 subsets J(j,l,k) At most  p j time points At most  p j time points =>at most n 3  p j recursive equations =>at most n 3  p j recursive equations Each equation requires at most O(n) operations Each equation requires at most O(n) operations Overall complexity is O(n 4  p j ) Overall complexity is O(n 4  p j ) => pseudopolynomial

19 Example Given the following data, use Algorithm to solve the problem 1||  T j Given the following data, use Algorithm to solve the problem 1||  T j job j pjpjpjpj djdjdjdj

20 Section 3.5. The total tardiness 1||  w j T j Thm : The problem 1||  w j T j is strongly NP-hard Thm : The problem 1||  w j T j is strongly NP-hard –3 partition reduces to 1||  w j T j A dominance result exists. Lemma 3.5.1: A dominance result exists. Lemma 3.5.1: – –If there are two jobs j and k with d j ≤d k, p j ≤p k and w j ≥w k then there is an optimal sequence in which job j appears before job k. Branch and bound for 1||  w j T j Branch and bound for 1||  w j T j –Branch: Start by scheduling the last jobs –Bound: Solve a problem –Bound: Solve a transportation problem

21 Summary of Chapter 3: Single machine models 1||  w j C j WSPT rule, works for chains too 1||  w j (1-e - rC j ) WDSPT rule, works for chains too 1||L max EDD rule 1|prec| h max Algorithm |r j |L max Branch and bound 1||  U j Algorithm ||  T j Dynamic programming Alg