IOE/MFG 543

  • View
    21

  • Download
    2

Embed Size (px)

DESCRIPTION

IOE/MFG 543. Chapter 3: Single machine models (Sections 3.3-3.5). Section 3.3: Number of tardy jobs 1|| S U j. Number of tardy jobs Often used as a benchmark for managers (or % of on-time jobs) Some jobs may have to wait really long. - PowerPoint PPT Presentation

Text of IOE/MFG 543

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

  • Section 3.3: Number of tardy jobs 1||S UjNumber of tardy jobsOften used as a benchmark for managers (or % of on-time jobs)Some jobs may have to wait really long

  • Characterization of an optimal schedule for 1||S UjSplit jobs into two setsJ=Jobs that are completed on timeJd=Jobs that are tardyThe jobs in J are scheduled according to an EDD ruleThe order in which the jobs in Jd are completed is immaterial (since they are already tardy)

  • Algorithm 3.3.1 for 1||S UjSet J=, Jd=, Jc ={1,,n} (set of jobs not yet considered for scheduling)Determine job j* in Jc which has the EDD, i.e, dj*=min{dj : jJc} Add j* to JDelete j* from JcGo to 3

  • Algorithm 3.3.1 for 1||S Uj (2)If due date of job j* is met, i.e., if SjJ pj dj*go to 4,otherwise let k* be the job in J which has the longest processing time, i.e., pk*=maxjJ {pj} Delete k* from JAdd k* to JdIf Jc= STOPotherwise go to 2.

  • Algorithm 3.3.1 for 1||S Uj (3)Computational complexity O(nlog(n))If it is implemented efficiently!Theorem 3.3.2Algorithm 3.3.1 yields an optimal schedule for 1||S Uj Proof: By induction

  • Example 3.3.3Use Algorithm 3.3.1 to determine the schedule that minimizes S UjHow many jobs are tardy?

  • Total weighted number of tardy jobs 1||S wjUjNP-hardNo polynomial time algorithm existsIf all jobs have the same due datesi.e., d=dj for all jobsKnapsack problem=> pseudopolynomialWhy not use WSPT?Example 3.3.4What happenswhen WSPT is used?What about 2-3-1?

  • Section 3.4: The total tardiness 1||S TjA more practical performance measure than the number of tardy jobsMay schedule the tardy jobs to minimize total tardinessThe problem is NP-hard in the ordinary senseA pseudopolynomial dynamic programming algorithm exists

  • Dynamic programmingSee Appendix BDynamic programming is an efficient sequential method for total enumerationFor 1||S Tj we can use Lemmas 3.4.1. and 3.4.3. to eliminate a number of schedules from consideration

  • Lemma 3.4.1.If pjpk and djdk, then there exists an optimal sequence in which job j is scheduled before job kProof: The result is fairly obvious, so we omit the proof (Good exercise!)Consequences: We can eliminate from consideration all sequences that do not satisfy this condition

  • Lemma 3.4.2.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: d1, , dn and d1, ,dk-1,max(dk,C'k), dk+1, dnS' is optimal for the first set and S'' is optimal for the second setLemma: Any sequence that is optimal for the second set of due dates is optimal for the first set as wellProof: Skip

  • Enumerate the jobs by increasing due datesAssume d1d2dnLet job k be such that pk=max(p1,,pn)Lemma 3.4.1=> there is an optimal sequence such that jobs 1,,k-1 are scheduled before job kThe n-k jobs k+1,,n are scheduled either before or after job k

  • Lemma 3.4.3There exists an integer d, 0dn-k, such that there is an optimal sequence S in which job k is preceded by all jobs j with jk+d and followed by all jobs j with j>k+dEffectively reduces the number of schedules to be consideredProof: Skip

  • Consequences of Lemma 3.4.3.There is an optimal sequence that processes the jobs in this order:jobs 1,2,,k-1,k+1,,k+d in some orderjob kjobs k+d+1, k+d+2, , k+n in some orderHow do we determine this sequence?Algorithm 3.4.4.

  • Notation for Algorithm 3.4.4.Ck(d)=Sjk+dpj is the completion time of job kJ(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 itselfV(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 tk' is the job in J(j,l,k) with the largest processing time, i.e., pk'=max{pj : j J(j,l,k)}

  • Algorithm 3.4.4. for 1||S TjInitial conditionsV(,t)=0V({j},t)=max(0,t+pj-dj)Recursive relationV(J(j,l,k),t)=mind{V(J(j,k'+d,k'),t)+max(0,Ck'(d)-dk')+V(J(k'+d+1,l,k'),Ck'(d))}Optimal value function:V({1,,n},0)

  • The complexity of Algorithm 3.4.4.At most n3 subsets J(j,l,k)At most Spj time points =>at most n3Spj recursive equationsEach equation requires at most O(n) operationsOverall complexity is O(n4Spj)=> pseudopolynomial

  • Example 3.4.5.Given the following data, use Algorithm 3.4.4. to solve the problem 1||S Tj

  • Section 3.5. The total tardiness 1||S wjTjThm. 3.5.2: The problem 1||S wjTj is strongly NP-hard3 partition reduces to 1||S wjTj A dominance result exists. Lemma 3.5.1:If there are two jobs j and k with djdk , pjpk and wjwk then there is an optimal sequence in which job j appears before job k.Branch and bound for 1||S wjTj Branch: Start by scheduling the last jobsBound: Solve a transportation problem

  • Summary of Chapter 3:Single machine models

    Single machines are important. Simple and a special case of other models.