Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.3-3.5)"— Presentation transcript:

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.


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

Similar presentations


Ads by Google