universite saad dahlab de blida - Université Saad Dahlab de Blida
Transcription
universite saad dahlab de blida - Université Saad Dahlab de Blida
Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali 3. Minimizing Mean Flowtime And Weignted Mean Flowtime. Consider the problem of minimizing F . Adopt the following notation : p i[j] : processing time of the j th job in sequence on the i th machine Fi[j] : flowtime of the j th job in sequence on the i th machine ni : number of jobs processed by the i th machine, then the objective function is : n n 1 m i 1 m i F = ∑ ∑ Fi[ j] = ∑ ∑ ( n i − j + 1) p i[ j] . n n i =1 j=1 i =1 j=1 An algorithm 5.3 is given for Minimizing F with parallel machines[Bak74]. Except for ties, this algorithm will produce a unique schedule. ID A *) This algorithm is a dispatching procedure, so that scheduling decisions can be implemented in the order that they are made. It can be extended to the case of arrival pattern of jobs. BL *) No direct algorithm has been developed for constructing an optimal schedule when F w is E the criterion. D Dynamic programming formulations are possible, but the « curse of dimensionality » renders B the procedure impractical for problems of even moderate size. Any optimal solution must LA have WSPT job orderings at each machine. A lower bound on the optimum of F w can be computed, as shown by Eastman, Even and Isaacs[Eas64]. Let D A H B(1) : the minimal value of F w for the given job set if there were only one machine ( obtained via WSPT) D B(n) : the minimal value of F w for the given job set if there were n machines ( obtained by B(m) = SA A assigning each job to a different machine ) then a lower bound for m machines (1 ≤ m ≤ n) is 1 [ ( m - 1 ) B(1) + 2 B (n) ] ; 2m SI TE B = Max {B(m), B(1)} is also a valid lower bound and may be better. A procedure denoted Hm is given. In the case where the machines are identical, the second subscript can be omitted from pij ER and IV p ij = pi. One could renumber the n jobs in order of increasing processing-time : N p 1 ≤ p 2 ≤ ...≤ pn .Then one could number the machines and simply assign jobs in rotation : U Job Machine 1 2 ... m M+1 m + 2 ... 2m 1 m 1 Parallel processor scheduling 2 ... 113 2 ... m 2m + 1 ...... 1 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali The rule would simply be that each time a machine finished a job, it would be assigned, from among those jobs waiting, the job with the shortest processing time. This rule minimizes the mean flow time, mean waiting time, and mean lateness. Interchange of jobs in equivalent positions in sequence on different machines has no effect on the mean flow time. However, this shortest processing time rule does not necessarily minimize the maximum flow time and the mean number of jobs in the shop[Con67]. ∑Cj BL Problem P // ID A 3.1 . Identical Processors[Bla94] In the case of identical processor and equal ready times, preemptions are not profitable from E the viewpoint of the value of the mean flow time [McN59]. Thus we consider only non- D ∑ C j , one might expect that, B preemptive schedules. When analyzing the nature of criterion LA as in the case of one processor, by assigning tasks in non-decreasing order of their processing times the mean flow time will be minimizing. A proper generalization of this simple rule H ∑ C j [Con67]. It is as follows. A leads to an optimization algorithm for P // D Algorithm 11. SPT rule for problem P // ∑ C j [Con67]. ER SI TE SA A D begin Order tasks on list L in non-decreasing order of their processing times ; while L ≠ ∅ do begin Take the m first tasks from the list ( if any ) and assign theses tasks arbitrarily to the m different processors ; Remove the assigned tasks from list L ; end ; Process tasks assigned to each processor in SPT order ; end ; ___________________________________________________________________________ IV The complexity of the algorithm is O(nlogn). N Introducing different ready times makes the problem strongly NP-hard even for the case of U one processor[Len77]. Also if we introduce different weights, the 2-processor problem without release times, P2 // ∑ w j C j , is already NP-hard[Bru74]. Parallel processor scheduling 114 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali Problem P / pi = 1 ; ri ; di / ∑ C j [Bru95] The same results and algorithm of the Problem P / pi = 1 ; ri ; di / Cmax hold when the ∑ C j [see part 2, makespan criterion]. Problems P / pi = 1 / ∑ wi C j and P / pi = 1 ; pmtn / ∑ w i C j [Bru95] A objective function is ∑ w i C i by scheduling the jobs in order of non-increasing weights wi. An optimal schedule for P / pi = 1 / ∑ wi Ci is optimal even if BL I D We get an optimal schedule for problem P / pi = 1 / preemption is allowed. E ∑ w i C i , there exists an optimal schedule without preemption. D For P / pmtn / H ∑Cj A Problem P / prec / ∑ w i Ci LA P2 / / ∑ w i C i ; P2 / pmtn, ri / ∑ w i C i and P2 / pmtn / B The following problems are NP-hard : D Let us pass to the case of dependent tasks. Here, P / out-tree, pj = 1 / ∑Cj is strongly A D adaptation of Hu’s algorithm to the out-tree case, and P / prec, pj = 1 / ∑ C j is solved by an SA NP-hard [Len78]. In the case of arbitrary processing times recent results by Du et al [Du91] indicate TE that even simplest precedence constraints result in computational hardness of the problem. SI That is problem P2 / chains / ∑Cj is already NP-hard in the strong sense. It was also ER proved in [Du91] that preemption cannot reduce the mean weighted flow time for a set of ∑ C j is also NP-hard in the strong IV chains. This implies that the problem P2 / chains, pmtn / N sense. No approximation algorithms for these problems are evaluated from their worst-case U behavior. Problem P / pj = 1; out-tree / ∑ C j [Pin95] The special case of precedence constraints of out-tree and all processing times equal to one can be solved in polynomial time. The CP ( critical path ) rule is the highest level first rule . It is optimal for P / pi = 1; out-tree / ∑ C j . The CP rule is, not necessarily optimal for in- trees. Parallel processor scheduling 115 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali Problem P / pj = 1; Mj / ∑ C j [Pin95] Another problem that is of practical interest arises when job j is only allowed to be processed on subset Mj of the m machines in parallel is P / pi = 1 ; Mj / ∑Cj problem. Assume that the set Mj is nested ( see 211. ). Under these conditions, the least flexible job first ( LFJ ) rule is of importance. The LFJ rule A selects, every time a machine is freed, the job that can be processed on the smallest number of ID machines, that is the least flexible job. Ties may be broken arbitrary. ∑Cj when the Mj sets are nested [Pin95]. D E The LFJ rule is optimal for P / pi = 1 ; Mj / BL If the set Mj sets are nested, the LFJ rule is optimal. B 3.2. Uniform and Unrelated Processors LA Scheduling dependent tasks on uniform or unrelated processors is NP-hard problem in general. No approximations algorithms have been investigated either. On the other hand, in D ∑Cj D Problem Q // A H the case of independent tasks, preemption may be worth-while. A Let us start with uniform processors and non-preemptive schedules. In this case the flow time SA has to take into account processor speed ; so the flow time of task Ti[k] processed in the k TE 1 position on processor Pi is defined as F i[ k ] = bi ki ∑ p i[ j ] . j =1 SI mi ER Let us denote by ni the number of tasks processed on processor Pi . Thus, n = U N IV 1 The mean flow time is then given by F = n th ∑ i =1 m ∑ i =1 1 bi ni . ni ∑ k =1 ( n i − k + 1) p i[ k ] . The numerator of this formula is the sums of n terms each of which is the product of a processing time and one of the following coefficients : 1 1 1 1 1 1 1 1 1 n1 , ( n1 − 1) , ..., n 2 ,..., (n2 − 1) ,..., nm , (nm − 1) ,. ., , , ..., . b1 b1 b1 b2 b2 b2 bm bm bm Parallel processor scheduling 116 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali It is shown in [Con67] that such a sum is minimized by matching n smallest coefficients in non-decreasing order with processing times in non-increasing order. This rule is an O(nlogn) implementation given by Horowitz and Sahni[Hor76] Assume that i1, i2,..., ir is the sequence of jobs to be processed on machine Mj. Then the contribution of these jobs on machine Mj in the objective function is given by : p p p r r -1 1 i + i +....+ i 1 s 2 s r s j j j To find an optimal distribution of jobs to machines we may proceed as follows. Let k , then schedule job i on machine Mj as the k-th last job because we assume sj B If ti = E 1 1 1 2 2 2 3 3 3 , , ... , , , , ... , , , , ... , , ....}. s1 s 2 s m s1 s 2 s m s1 s 2 sm D { BL I t1 , t2 , ..., tn be a non-decreasing sequence of the n smallest numbers in the set D non-decreasing processing requirements pi. A This implies that in an optimal schedule the jobs on machine Mj are sequenced according to LA p1 ≥ p2 ≥ ... ≥ pn . These ideas lead to the following algorithm in which, for j = 1,..., m, we H denote by Πj the sequence of jobs currently scheduled at machine Mj. A ___________________________________________________________________________ For j = 1 to m do 1 ; END; sj SA Begin Πj : = ∅ ; wj = ∑Cj A D D Algorithm 12 . Problem Q // TE For i : = 1 to n do Begin Find the largest index j with wj = min υ =1,.., m 1 sυ ER SI Πj : = i ο Πj ; 1 wj : = wj + sj N IV END ___________________________________________________________________________ Each w-value can be calculated in O(logm ) time if we use a priority queue. Thus, the overall U complexity is O(nlogm) if the pi -values are sorted. Otherwise, we have a total complexity of O(nlogn) if n > m. Next we will consider the preemptive version of this problem. Parallel processor scheduling 117 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali Problem Q / pmtn / ∑Cj In the case of preemptive scheduling, it is possible to show that there exists an optimal schedule for Q / pmtn / ∑Cj in which Cj ≤ C k if pj < pk. The following algorithm has been proposed by Gonzales[Gon77]. Algorithm 13. Algorithm by Gonzalez for Q / pmtn / ∑Cj [Gon77]. LA B D E BL ID A Begin Order processors in non-increasing order of their processing speed factors ; Order tasks in non-decreasing order of their standard processing times ; for j = 1 to n do begin Schedule task Tj to be completed as early as possible, preemptive when necessary ; -- tasks will create a staircase pattern « jumping » to a faster processor -- whenever a shorter task has been finished end ; end ; ___________________________________________________________________________ H The complexity of this algorithm is O(n logn + m n ). A In [Pin95], the SRPT-FM rule is considered. It is the Shortest remaining processing time on D the fastest machine first rule. This rule assigns at any time the job with the shortest remaining D processing time among the remaining jobs to the fastest machine ; the job with the second SA A shortest remaining processing time to the second fastest machine, and so on. It usually requires a number of preemptions equal to the number of remaining jobs. There exists an optimal schedule for ∑Cj in which Cj ≤ C k if pj < pk. TE Q / pmtn / ∑ C j [Pin95]. ER SI SRPT-FM rule yields an optimal schedule for Q / pmtn / ∑Cj IV Problem R / / U N An approach to the solution of this problem is based on the observation that task Tj ∈ { T1, .., Tn } processed on Processor Pi ∈ { P1, .., Pm } as the last task contributes its processing time pij to F . The same task processed in the last but one position contributes 2 pij and so on[Bru74] This reasoning allows one to construct an ( m n ) x n matrix Q presenting Parallel processor scheduling 118 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali contributions of particular tasks processed in different positions on different processors to the value of F . The problem is to choose n elements from matrix Q such that -- Exactly one element is taken from each column, -- at most one element is taken from each row, -- the sum of selects elements is minimum. It is a variant of the assignment problem which may be solved using Branch and Bound method. It can be solved in O(n3) time [Bru74]. ∑Cj is still an open problem. A The complexity of problem R / pmtn / ID 3.3. Complexity Results BL We summarize scheduling problems complexity with jobs to be processed on parallel Complexity Author(s) and date D Problems polynomially E machines and flow time and mean flow time criteria. . A Bruno et al ( 1974) SA ER Problems NP-hard ∑ wi Ci IV Gonzalez ( 1977) . D O(n logn + m n ) O(n3) P2 / pmtn ; ri / // A D ∑Cj ∑Cj P2 / / McNaughton(1959) polynomial SI TE R// Simons ( 1983) O(nlogn) ∑ wi Ci P / pi = 1/ pmtn / ∑ wi Ci P / pi = 1/ Q / pmtn / O(n3 log log n) LA ∑Cj H P / pi = 1 ; ri ; di rational / B Solvable ∑ Ci N ∑ wi Ci P2 / prec ; pi / ∑ Ci Author(s) Bruno et al ( 1974) Due et al ( 1988) Bruno et al ( 1974) U P2 / pmtn / Parallel processor scheduling Lenstra & Rinnooy Kan ( 1978) 119 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali 4. Minimizing Due Date Involving Criteria 41. Identical processors ( Bla94 ) Single processor problems with due dates that allow for simple algorithms usually have as objective the maximum lateness ; for example, 1 // Lmax ; 1 / prmp / Lmax ; 1 / rj , prmp / Lmax. However, single machine problems with the sum of the tardinesses or the sum of the weighted tardiness as objectives are NP-hard in most cases. P m // Lmax is not as easy as 1 // Lmax. Consider the special case where all jobs have due date 0. Finding a schedule with a minimum Lmax is equivalent to the P m // Cmax problem and is a problem NP-hard [Pin95]. We concentrate on minimization of Lmax criterion. In this case, the general rule should be to A schedule tasks according to their earliest due dates. This simple rule of Jackson [Jac55] ID produces optimal schedules under very restricted assumptions only. In other cases more BL sophisticated algorithms are necessary, or the problems are NP-hard. E Problem P // Lmax D We consider nonpreemptive scheduling of independent tasks. Taking into account simple B transformations between scheduling problems and the relation-ship between the Cmax and Lmax LA criteria, all the problems that are NP-hard under the Cmax criterion remain NP-hard under Lmax H criterion. Hence, for example, P 2 // Lmax is NP-hard. On the other hand, unit processing A times of tasks made the problem easy, and P / pj = 1, rj / Lmax can be solved in polynomial D time by an application of EDD rule [Bla77] It can be solved by an extension of the single D processor algorithm[Gar81]. Unfortunately very little is known about the worst-case behavior Problem P / pmtn / Lmax SA A of approximation algorithms for the NP-hard problems in question. TE The preemptive mode of processing makes the solution of the scheduling problem much easier. ER SI ~ The fundamental approach in that area is testing feasibility of problem P / pmtn, rj , d j / - via the network flow approach [Hor74]. Using this approach repetitively, one can then solve the N IV original problem P / pmtn / Lmax by changing due dates ( deadlines ) according to a binary search procedure. Finding a feasible flow pattern corresponds to constructing a feasible U schedule and this test can be made in O(n3) time. A schedule is constructed on the basis of flow values on arcs between interval and task nodes. In the next step a binary search can be conducted on the optimal value of Lmax , with each trial Parallel processor scheduling 120 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali value of Lmax including deadlines which are checked for feasibility by means of the above network flow computation. This procedure can be implemented to solve problem P / pmtn, rj /Lmax in O( n3 min { n2, log n + log max {pj }} time [Lab84] Problem P / pmtn ; ri / Lmax This problem may be reduced to a maximum flow problem in a network[Bru95]. There exists n a schedule respecting all time windows if and only if the maximum flow has the value ∑ pi . A i =1 and ∑ xiK BL D n r −1 ∑ xiK = pi for i = 1,..,n K =1 E job Ji is processed in the time interval IK and we have ID If this is the case, the flow xiK on the arc ( Ji , JK )corresponds with the time period in which ≤ m TK for K = 1,..., r - 1. B i =1 LA To solve P / pmtn; ri / Lmax , we apply binary search on different-values. n max p j . j = 1,...n A H We assume di ≤ n max p j , which implies - n max p j ≤ Lmax ≤ j = 1,...n j = 1,...n D This yields an algorithm which approximates the solution value with absolute error ε in at Problem P / pi = 1 ; ri / Lmax SA A D most O( n3 ( log n + log(1/ε) + log ( max p j ) ) steps. j = 1,...n It is convenient to assume that the jobs are indexed in such a way that r1 ≤ r2 ≤ ... ≤ rn . TE The problem has an easy solution if all release times ri are integer. In this case, we get an SI optimal schedule by scheduling available jobs in order of non-decreasing due date. ER More specifically, if at the current time t not all machines are occupied and there is an unscheduled job Ji with ri ≤ t, we schedule such a job with smallest due date. IV Technical details are given by the following algorithm in which K counts the number of U N machines occupied immediately after Step 7 at current time t, m is the number of machines, M is the set of unscheduled jobs available at time t, and j is a counter for the number of scheduled jobs. Algorithm 14. Algorithm for P / pi = 1; ri integer / Lmax[Bru95] 1. j : = 1 ; K : = 1 ; Parallel processor scheduling 121 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali A H LA B D E BL I D A 2. WHILE j ≤ n Do BEGIN 3. t : = r j ; M : = { Ji / r i ≤ t } ; 4. WHILE M ≠∅ Do BEGIN 5. Find job Ji in M with the smallest due date ; 6. M : = M \ { Ji } ; 7. Schedule Ji at time t ; 8. j : = j + 1; 9. IF K + 1 ≤ m THEN K : = K + 1 ; ELSE BEGIN 10. t:=t+1; 11. K:=1; 12. M : = M ∪ { Ji / r i ≤ t } ; END; END ; END ; A Problem P / prec, pj = 1 / Lmax D D The algorithm runs in O ( n log n ) time if a priority queue data structure is used for M. SA Let us now pass to dependent tasks. A general approach in this case consists in assigning modified due dates to tasks, depending on the number and due dates of their successors. SI T E The way in which modified due dates are calculated depends on the parameters of the problem. When scheduling nonpreemptable tasks on a multiple processor system only unit ER processing times can results in polynomial time scheduling algorithms. Let us star with in-tree precedence constraints and assume that if Ti < Tj then i > j. The following algorithm U N IV minimizes Lmax where isucc(j) denotes the immediate successor of Tj [Bru76b]. Algorithm 15. Algorithm by Brucker for P / in-tree, pj = 1 / Lmax [Bru76b] begin d*1 = 1 - d1 ; for k = 2 step 1 until n do begin Calculate modified due dates of Tk according to the formula d*k : = max { 1 + d*isucc(k), 1 - dk } ; end ; Schedule tasks in nonincreasing order of their modified due dates subject to precedence constraints ; end ; ___________________________________________________________________________ Parallel processor scheduling 122 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali This algorithm can be implemented to run in O(nlogn) time. Surprisingly out-tree precedence constraints result in the NP-hardness of the problem [Bru77] However, when we limit ourselves to two processors, a different way of computing modified due dates can be proposed which allows one to solve the problem in O( n2 ) time [Gar76]. In the algorithm below g(k, d*i ) is the number of successors of Tk having modified due dates D A not greater than d*i. SA A D D A H LA B D E BL I Algorithm 16. Algorithm by Garey and Johnson for problem P2/ prec, pj = 1/ Lmax[Gar76] begin Z:=T while Z ≠ ∅ do begin Choose Tk ∈k Z which is not yet assigned a modified due date and all of whose successors have been assigned modified due dates ; Calculate a modified due date of Tk as : 1 d*k : = min { dk , min { ( d*i - g ( k , d *i ) / Ti ∈ succ( T ) }} ; 2 Z : = Z - { Tk } ; end ; Schedule tasks in nondecreasing order of their modified due dates subject to precedence constraints ; r end ; ___________________________________________________________________________ For m > 2 this algorithm may not lead to optimal schedules. However, the algorithm can be generalized to cover the case of different ready times too, but the running time is then O(n3) SI TE [Gar77] and this is as much as we can get in non-preemptive scheduling. Problem P / pmtn, prec / Lmax IV ER Preemptions allow one to solve problems with arbitrary processing times. In Law82b] algorithms have been presented that are preemptive counter-parts of Algorithms 15 ( by N Brucker[Bru76b] ) and 16 ( by Garey and Johnson[Gar76] ) and the one presented by Garey U and Johnson[Gar77] for non-preemptive scheduling and unit-length tasks. Hence problems P / pmtn, in-tree / Lmax , P 2 / pmtn, prec / Lmax and P2/ pmtn, prec, rj / Lmax are solvable in polynomial time. Algorithms for these problems employ essentially the same techniques for dealing with precedence constraints as the corresponding algorithms for unitlength tasks. The algorithms are more complex. Parallel processor scheduling 123 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali 4.2. Uniform and Unrelated Processors Problem Q // Lmax We see that non-preemptive scheduling to minimize Lmax is in general a hard problem. Only A for the problem Q / pj = 1/ Lmax a polynomial time optimization algorithm is known. This BL I D problem can be solved via a transportation problem formulation , where now Cijk = k / bi - dj . Problem Q / pmtn / Lmax E This problem is one of the few parallel machine problems with a due-date related objective D that can be solved in polynomial time. LA B Finding a feasible schedule with all jobs completing their processing before these deadlines is equivalent to solving the problem Qm / rj, prmp / Cmax. Reverse the direction of time in the due-date problem. The deadlines in the original problem play the role of release dates in the A H reverse problem, which is then equivalent to Qm / rj, prmp / Cmax. f applying the LRPT-FM D rule backwards results in a feasible schedule with all the jobs in the original problem starting at a time larger than or equal to zero, then there exists a schedule for Qm / prmp / Lmax with A D Lmax < z. To find the minimum Lmax a simple search has to be done to determine the SA appropriate minimum of value of z. This problem can be formulated as a network flow problem that can be solved in polynomial time. TE We will consider uniform processors first. One of the most interesting algorithms in that area has been presented for problem Q / pmtn, rj / Lmax by Federgruen and Groenevelt[ Fed86]. ER SI It is a generalization of the network flow approach to the feasibility testing of problem ~ P / pmtn, rj , d j / -described above. The feasibility testing procedure for problem IV ~ Q/ pmtn, rj , d j / - uses tripartite network formulation of the scheduling problem, where the N first set of nodes corresponds to tasks, the second corresponds to processors-interval (period) U combination and the third corresponds to interval nodes. Finding a feasible flow with value n ∑ p j in such a network corresponds to a construction of j =1 ~ a feasible schedule for Q/ pmtn, rj , d j / - . This can be done in O(mn3) time. Parallel processor scheduling 124 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali Problem Q/ pmtn, ri / Lmax Again we consider the problem of finding a schedule with the property that each job i is processed in the time window [ ri , di ] defined by a release time ri and a deadline di of job i. We call such a schedule feasible with respect to the time windows [ ri , di ]. In the second step, we apply binary search to solve the general problem. As above, we solve the feasibility problem by reducing it to a network flow problem. The same condition for the existence of the feasible schedule is established. Because a maximal flow in the expanded network can be calculated in O( m n3 ) steps, a feasible check can be done with the same complexity. This yields an ε-approximation algorithm with complexity O( m n3 ( log n + log(1/ε) + log ( max p j ) ). j = 1,...n A Problem Q/ pmtn, prec / Lmax ID In case of precedence constraints, Q2 / pmtn, prec / Lmax and Q2 / pmtn, rj / Lmax can be BL solved in O( n2) and O(n6 ) time, respectively, by the algorithm of [Law82b]. E Problem R/ pmtn / Lmax D As far as unrelated processors are concerned, problem R/ pmtn / Lmax can be solved by a B linear programming formulation, where xkij denotes the amount of Tj processed on Pi in time LA interval [ dk-1 + Lmax, dk + Lmax] and where due dates are assumed to be ordered d1 <d2 <...< dn. H Thus, we have the following formulation : m to ∑ pij xij (1) ≤ D subject i =1 n j = 1, 2, ..., n A dk - dk-1 , j = k, k+1,...,n, k = 2,3,..,n SA ∑ pij xij ( k ) ≤ d1 + Lmax , D i =1 m A minimize Lmax TE ∑ pij xij (1) ≤ d1 + Lmax, i = 1, 2, ..., m n ∑ pij xij ( k ) ≤ dk - dk-1 , i = 1, 2, ...,m, k = 2,3,..,n j=k U N IV ER SI j =1 Parallel processor scheduling m j ∑ ∑ xij ( k ) = 1 , i = 1k = 1 125 j = 1, 2, ..., n. Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali Solving the LP problem we obtain n matrices T(k) = [ t(k)*ij ] , k = 1, 2, .., n ; then an optimal solution is constructed by an application of Algorithm 10 for R / pmtn/ Cmax to each matrix separately. When precedence constraints forma uni-connected activity network, can also be solved via the same modification of the LP problem as described for the Cmax criterion[Slo78]. 43. Complexity Results We summarize scheduling problems complexity with jobs to be processed on parallel machines. Author(s) and date Q / pmtn / Lmax O(n logn + mn) Labetoulle et al (1984) Q / pmtn; ri / Lmax O(mn3 ( log n+ log(1/ε) Federgruen & Gronevelt ( 1986) solvable E + log(maxpi) A Complexity BL ID Problems polynomially Linear programming Lawler & Labetoulle ( 1978) P / intree ; pi = 1 / Lmax O( n ) Brucker et al (1977) B D R / pmtn; ri / Lmax LA Momma(1982) O(nlog7) Garey & Johnson(1976) H P 2 / prec, pi = 1 / Lmax P 2 / prec, pi = 1; ri / Lmax O(n3 logm) O(n2) Problems NP-hard Lawler ( 1982 ) Lawler ( 1982 ) Lawler ( 1982 ) Author(s) Brucker & al ( 1977) TE P / outtree ; pi = 1 / Lmax SA Q2 / prec; pmtn ; ri / Lmax O(n6) A Q2 / prec; pmtn / Lmax D O(n2) A D P / intree ; pmtn / Lmax Garey & Johnson(1977) ER SI 5. Open Problems : [ Sch99] In a recent paper, Schuurman and Woeginger [Sch99] discuss what they consider to be the most vexing open questions in the area of polynomial time approximation algorithms for IV NP-hard deterministic machine scheduling problems. They summarize what is known on N these problems, discuss related results and they provide pointers for literature. U We consider only scheduling problems that are NP-hard. A distinction is made between positive results, which establish the existence of some approximation algorithm, and negative Parallel processor scheduling 126 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali results, which disprove the existence of certain approximation results under the assumption P ≠ NP. They define Positive results and negative results. A standard way of dealing with NP-hard problems is not to search for an optimal solution, but to go for near-optimal solutions. An algorithm that return near-optimal solutions is called an approximation algorithm. If it does this in polynomial time, then it is called a polynomial time approximation algorithm. An approximation algorithm that always returns a near-optimal solution with cost at most a factor ρ above the optimal cost ( where ρ > 1 is some fixed real number ) is called a ρ-approximation algorithm, and the value ρ is called the worst-case performance guarantee. A A family of ( 1 + ε ) -approximation algorithms over all ε > 0 with polynomial running times BL ID is called a polynomial time approximation scheme or PTAS, for short. If the time complexity of a PTAS is also polynomially bounded in 1 / ε, then it is called a fully polynomial time approximation scheme or FPTAS. E FPTAS is essentially the strongest possible polynomial time approximation result that we can D derive for an NP-hard problem. B Positive results in the area of approximation concern the design and analysis of such LA polynomial time approximation algorithms and schemes. For every hard problem, we would H like to know whether it possesses a polynomial time approximation algorithm with constant A worst-case performance guarantee, or a PTAS, or even an FPTAS. Negative( D inapproximatively ) results disprove the existence of good approximation algorithms under A D the assumption P ≠ NP. Two kind of algorithms exist. The “ compound algorithms ”, which selects the best schedule SA produced by two or more methods and the “ improvement algorithms ” , which iteratively improve schedules produced by a single method. SI TE Four open problems deal with the makespan criterion, in parallel machine environments. ER Open problem 1. Design a polynomial time approximation algorithm for P/ prec/ Cmax or for P / prec, pj = 1 / Cmax with worst-case performance 2 - δ ( in fact, even an algorithm whose N IV time complexity is exponential in m might be interesting). Provide a 4/3 + δ inapproximability result for P / prec / Cmax U Design a PTAS for problem P 2 / prec / Cmax . Design a PTAS ( or even an FPTAS ) for problem P3/ prec, pj = 1 / Cmax . Parallel processor scheduling 127 Ordonnancement dans les ateliers. Cours donné par le Dr. DERBALA Ali Open problem 2. Design a polynomial time approximation algorithm for Q/ prec/ Cmax with constant performance guarantee ( i.e. independent of the number of machines ), or prove a non-constant lower bound under the assumption P ≠ NP ( i.e. a bound that tends to infinity as m goes to infinity ) . Open problem 3. For P / prec, pj = 1, c = 1/ Cmax , improve the performance guarantee to 7/3 δ or improve the improve the inapproximability bound to 5/4 +δ. For P∞ / prec, pj = 1, c = 1/ Cmax, improve the performance guarantee to 4/3 - δ or improve the D A inapproximability bound to 7/6 + δ. BL I Decide whether there exists a polynomial time approximation algorithm with constant performance guarantee for P∞ / prec, pj = 1, c = 1/ Cmax. E Decide whether there exists a polynomial time approximation algorithm with constant B D performance guarantee for P∞ / prec, cjk / Cmax. LA Open problem 4. Design a polynomial time approximation algorithm for R // Cmax with worst- U N IV ER SI TE SA A D D A H case performance of 2 - δ or provide a 3/2 + δ inapproximability result for R // Cmax . Parallel processor scheduling 128