Download presentation
Presentation is loading. Please wait.
1
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.3-3.5)
2
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
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
4 Algorithm 3.3.1 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
5 Algorithm 3.3.1 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
6 Algorithm 3.3.1 for 1|| U j (3) Computational complexity O(nlog(n)) Computational complexity O(nlog(n)) –If it is implemented efficiently! Theorem 3.3.2 Theorem 3.3.2 –Algorithm 3.3.1 yields an optimal schedule for 1|| U j –Proof: By induction
7
7 Example 3.3.3 Use Algorithm 3.3.1 to determine the schedule that minimizes U j Use Algorithm 3.3.1 to determine the schedule that minimizes U j –How many jobs are tardy? job j 12345 pjpjpjpj78466 djdjdjdj917181921
8
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 3.3.4 What happens What happens when WSPT is used? What about 2-3-1? What about 2-3-1? job j 123 pjpjpjpj11990 wjwjwjwj12989 djdjdjdj100100100
9
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
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 3.4.1. and 3.4.3. to eliminate a number of schedules from consideration For 1|| T j we can use Lemmas 3.4.1. and 3.4.3. to eliminate a number of schedules from consideration
11
11 Lemma 3.4.1. 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
12 Lemma 3.4.2. 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
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
14 Lemma 3.4.3 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
15 Consequences of Lemma 3.4.3. 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 3.4.4.
16
16 Notation for Algorithm 3.4.4. 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
17 Algorithm 3.4.4. 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
18 The complexity of Algorithm 3.4.4. 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
19 Example 3.4.5. Given the following data, use Algorithm 3.4.4. to solve the problem 1|| T j Given the following data, use Algorithm 3.4.4. to solve the problem 1|| T j job j 12345 pjpjpjpj1217914783130 djdjdjdj260266266336337
20
20 Section 3.5. The total tardiness 1|| w j T j Thm. 3.5.2: The problem 1|| w j T j is strongly NP-hard Thm. 3.5.2: 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
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 3.2.1. 1|r j |L max Branch and bound 1|| U j Algorithm 3.3.1. 1|| T j Dynamic programming Alg. 3.4.4.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.