Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax) Lesson 8.

Similar presentations


Presentation on theme: "Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax) Lesson 8."— Presentation transcript:

1 Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax)
Lesson 8

2 Q||ΣCi t Assume that i1, i2,..., ir is the sequence of jobs
to be processed on machine Mj. t Mj i1 i2 i3 ● ● ● ir pi1/sj (pi1+ pi2+pi pir)/sj (pi1+ pi2) /sj (pi1+ pi2+pi3)/sj The contribution of these jobs is This implies that in an optimal schedule the jobs on machine Mj are sequenced according to nondecreasing processing requirements pi.

3 Optimal Strategy Let t1, t2,..., tn be a nondecreasing sequence of the n smallest numbers in the set If then schedule job i on Mj as the k-th last job because we assume p1 ≥ p2 ≥ ... ≥ pn.

4 Q||ΣCi Consider an instance I with 2 machines and 10 jobs.
Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1.

5 Q||ΣCi Consider an instance I with 2 machines and 10 jobs.
Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers:

6 Q||ΣCi Consider an instance I with 2 machines and 10 jobs.
Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers: Second, we find the assignment:

7 Q||ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers: Second, we find the assignment: M1 10 7 3 M2 t 1 2 3.2 4.6 6.5 8.4

8 Q||ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers: Second, we find the assignment: M1 10 7 3 M2 9 8 6 5 4 2 1 t 1 2 3.2 4.6 6.5 8.4

9 Optimal Strategy Let t1, t2,..., tn be a nondecreasing sequence of the n smallest numbers in the set If then schedule job i on Mj as the k-th last job because we assume p1 ≥ p2 ≥ ... ≥ pn.

10 Optimal Strategy Let t1, t2,..., tn be a nondecreasing sequence of the n smallest numbers in the set If then schedule job i on Mj as the k-th last job because we assume p1 ≥ p2 ≥ ... ≥ pn. Optimality of this strategy is a consequence of the following result about Monge array.

11 Monge Array

12 Q|pmtn|ΣCi To solve this problem we apply an adapted version of the SPT-rule. Order the jobs according to nondecreasing processing requirements, and schedule each successive job preemptively so as to minimize it completion time. In other words, we schedule job n on the fastest machine M1 until it is completed at time t1 = pn/s1. Then we schedule job n – 1 first on machine M2 for t1 time units and then on machine M1 from time t1 to time t2 ≥ t1 until it is completed. Job n – 2 is scheduled on M3 for t1 time units, on M2 for t2 – t1 time units, and on machine M1 from time t2 to time t3 ≥ t2 until it is completed, etc.

13 Q|pmtn|ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. M1 9 8 M2 10 9 8 t 0.2 0.52 0.992 A simple interchange argument may be used to prove the correctness of the algorithm.

14 Unrelated Machines We have n independent jobs i = 1,..., n to be processed on m machines. The processing time of job i on machine Mj is pij (i = 1,..., n; j = 1,..., m). This model is a generalization of the uniform machine model we get by setting pij = pi/sj .

15 No preemption. The unrelated machines model is a generalization of the uniform machine model. Remind that, problem Q||ΣCi is the only problem which was polynomially solvable in the case of non-preemptable jobs with arbitrary processing times. We show that a polynomial algorithm also exists for the corresponding problem with unrelated machines.

16 R||ΣCi We reduce this problem to assignment problem.
Again, if i1, i2,..., ir is the sequence of jobs processed on machine Mj. Mj i1 i2 i3 ● ● ● ir t pi1j (pi1j+ pi2j+pi3j +...+pirj) (pi1j+ pi2j) (pi1j+ pi2j+pi3j) Then the contribution of these jobs in the objective function is

17 Assignment t Mj i1 i2 i3 ● ● ● ir pi1j (pi1j+ pi2j+pi3j +...+pirj) (pi1j+ pi2j) (pi1j+ pi2j+pi3j) We define a position of a job on a machine by considering the job processed last on the first position, the job processed second from last on the second position, etc. To solve problem R||ΣCi we have to assign the jobs i to positions k on machines j. The cost of assigning job i to (k, j) is kpij.

18 Property of Assignment Problem
Note that an optimal solution of this assignment problem has the following property: if some job i is assigned to position k > 1 on machine j, then there is also a job assigned to position k – 1 on machine j. Otherwise, scheduling job i in position k – 1 would improve the total assignment cost. A solution of the Assignment Problem always yields an optimal solution of our scheduling problem.

19 R|pmtn|Cmax We solve problem R|pmtn|Cmax in two steps.
We formulate a linear program to calculate for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. We construct a corresponding schedule.

20 R|pmtn|Cmax Given nm positive integers pij, which represents the total processing times of job i on machine Mj. Let tij be the processing times of that part of job i which is processed on Mj . Then tij/ pij is the fraction of time that job i spends on machine j, and must hold in order for job i to be completed.

21 LP the total time job i spends on all machines.
the total time machine Mj spends processing jobs.

22 Schedule An optimal solution of LP determines for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. M1 1 2 5 M2 1 2 3 M3 3 4 M4 1 3 5 Cmax

23 Schedule An optimal solution of LP determines for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. Also we have

24 LP the total time job i spends on all machines.
the total time machine Mj spends processing jobs.

25 Schedule An optimal solution of LP determines for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. Also we have To problem of finding a corresponding schedule is equivalent to the problem of finding a solution to the O|pmtn|Cmax problem.

26 O|pmtn|Cmax An optimal schedule of the O|pmtn|Cmax problem achieves the bound An optimal schedule of the O|pmtn|Cmax problem can be constructed in polynomial time by using the reduction to Bipartite Matching problem.

27 R|pmtn|Lmax Assume that the jobs are numbered in nondecreasing due date order, i.e. d1  d2  ...  dn. Let be the total amount of time that machine Mj spends on job i within the time period I1=[0, d1 +Lmax]. Furthermore, for k = 2,..., n let be the total amount of time that machine Mj spends on job i within the time period Ik=[dk–1 +Lmax, dk +Lmax]. t d1 d2 d3 d4 t d1+Lmax d2+Lmax d3+Lmax d4+Lmax

28 LP the total time job i spends on all machines in Ik.
the total time machine Mj spends processing jobs in Ik.

29 Schedule Given an optimal solution of this LP, an Lmax-optimal schedule can be obtained by constructing for each of the time periods Ik (k = 1,..., n) a corresponding schedule using the data given by the matrix For each interval Ik we get an instance of O|pmtn|Cmax problem and problem R|pmtn|Lmax is polynomially solvable.

30 Exercise Formulate LP for R| pmtn, ri |Lmax .


Download ppt "Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax) Lesson 8."

Similar presentations


Ads by Google