IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.3-5.6) 1 Section 5.3: Total completion time Pm||S Cj On a single machine j p Cj=Sk=1 (k) where p(j) is the processing time of the jth job processed on the machine Then SCj=np(1)+(n-1)p(2)+...+p(n) => Shortest Processing Time first rule minimizes SCj 2 Total completion time Pm||S Cj (2) The same argument can be extended to parallel machines Theorem 5.3.1 – The SPT rule is optimal for Pm||S Cj In fact, a number of optimal schedules exist 3 Weighted total completion time Pm||S wjCj WSPT rule is not always optimal In practice it usually does pretty well Worst case bound S wjCj(WSPT) 1 < (1+√2) ≈ 1.2 S wjCj(OPT) 2 4 Other completion time models Precedence constraints Pm|prec|SCj – Strongly NP-hard Non-identical machines Rm||SCj – Can be formulated as an integer program – The solution of the corresponding linear program gives an optimal schedule => Can be solved in polynomial time 5 Section 5.4: Preemptions Pm|prmp|S Cj The SPT non-preemptive rule is still optimal – A special case of a more general result for Qm|prmp|S Cj Recall: vi is the speed on machine i in Qm models – pj can be interpreted as the required work to complete job j (processing time = pj/vi) 6 Qm|prmp|S Cj SRPT-FM rule: – Process the jobs such that the job with the shortest remaining processing time is put on the fastest machine. The job with the second shortest remaining processing time is put on the second fastest machine, etc. – Whenever the fastest machine completes a job, all the remaining jobs are moved up on the machines Theorem 5.4.2 – The SRPT-FM rule is optimal for Qm|prmp|S Cj 7 Example 5.4.3 Qm|prmp|S Cj 4 machines machine i 1 2 3 4 vi 4 2 2 1 3 4 7 jobs job j 1 2 5 6 7 pj 8 16 34 40 45 46 61 Use the SRPT-FM to solve Qm|prmp|S Cj 8 Section 5.5 Due date related objectives Single machine problems that can be solved “easily” – e.g., 1|prec|Lmax, 1|rj,prmp|Lmax Single machine tardiness problems (1||STj) are NP-hard If all due dates are 0 – Then Pm||Lmax is equivalent to Pm||Cmax => Pm||Lmax is NP-hard 9 Qm|prmp|Lmax One of few parallel machine problems that can be solved in polynomial time First question: Is there a schedule such that Lmax ≤ z ? – This can be formulated (backwards) as Qm|rj,prmp|Cmax – Let dj=dj+z be a hard deadline 10 Qm|prmp|Lmax (2) Solve the problem backwards – Find the job k with the latest deadline – Let rk=0 and rj=dk-dj Solve Qm|rj,prmp|Cmax by applying LRPT-FM – The backward schedule is optimal for Qm|prmp|Lmax 11 Example 5.5.1 P2|prmp|Lmax 4 jobs Let z=0 job j pj dj 1 3 4 2 3 5 job j pj rj 1 3 5 2 3 4 3 3 8 3 3 1 4 8 9 4 8 0 Solve P2|rj,prmp|Cmax by LRPT rule 12 Section 5.6 Discussion Parallel machine models are much harder than single machine models! Later in the course we will study heuristics that can be used to obtain “good” schedules 13