Algorithmic Operations Research Vol.7 (2012) 41 50 The makespan problem of scheduling multi groups of jobs on multi processors at different speeds Wei Ding Department of Mathematics, Sun Yat-sen University, 510275 Guangzhou, China Abstract In the paper we mainly study the makespan problem of scheduling n groups of jobs on n special-purpose processors m general-purpose processors at different speeds. We first propose an improved LP T algorithm investigate several properties of this algorithm. We then obtain an upper bound for the ratio of the approximate solution T to the optimal solution T under the improved LPT algorithm. Key words: Mathematics Subject Classification (2000): 90B35, 68M20 Heuristic algorithm, LPT algorithm, approximate solutions, optimal solutions, upper bound. 1. Introduction The problem of scheduling n jobs {J 1,J 2,,J n } with given processing time on m identical processors {M 1,M 2,,M m } with an objective of minimizing the makespan is one of the most well-studied problems in the scheduling literature, where processing J j after J i needeady time w(i,j). It has been proved to be NP hard, cf. [10]. Therefore, the study of heuristic algorithms will be important necessary for this scheduling problem. In fact, hundreds of scheduling theory analysts have cumulatively devoted an impressive number of papers to the worst-case probabilistic analysis of numerous approximation algorithms for this scheduling problem. In 1969 Graham [7] showed in his fundamental paper that the bound of this scheduling problem i 1 m as w(i,j) = 0 under the LS (List Scheduling) algorithm the tight bound is 4 3 1 3m under the LPT (Longest Processing Time) algorithm. In 1993 Ovacik Uzsoy [9] proved the bound is 4 2 m as w(i,j) t j, where t j is the processing time of the job J j, under the LS algorithm. In 2003 Imreh [8] studied the on-line off-line problems on two groups of identical processors at different speeds, presented the LG (Load Greedy) algorithm, showed that the bound about minimizing the makespan is2+ m 1 k the bound about minimizing the sum of finish time i+ m 2 k, where m k are the numbers of two groups of identical processors. Email: Wei Ding [dingwei@mail.sysu.edu.cn]. Gairing et al. (2007, [6]) proposed a simple combinatorial algorithm for the problem of scheduling n jobs on m processors at different speeds to minimize a cost stream showed it is effective of low complexity. Besides the above well-studied scheduling problem, one may face the problem of scheduling multi groups of jobs on multi processorn real production systems, such as, the problem of processing different types of yarns on spinning machinen spinning mills. Recently, the problem of scheduling multi groups of jobs on multi processors at same or different speeds were studied provided each job has no ready time. In 2006 Ding [1] studied the problem of schedulingn groups of jobs on one special-purpose processor n generalpurpose processors at same speeds under an improved LPT algorithm. In 2008 Ding [2] investigated the problem of scheduling n groups of jobs on n specialpurpose processors m general-purpose processors at same speeds under an improved LPT algorithm. In 2009 Ding [3] present an improved LS algorithm for the Q m+2 /r j /C max scheduling problem on m general-purpose processors two special-purpose processors. In 2010 Ding [4] studied a heuristic algorithm of the Q//C max problem on multi-tasks with uniform processors. More recently, Ding Zhao [5] investigated an improved LS algorithm for the problem of scheduling multi groups of jobs on multi processors at the same speed provided each job has a ready time. However, the problem of scheduling n groups of jobs on n special-purpose processors m general-purpose processors at different speeds has not been studied yet. c 2012 Preeminent Academic Facets Inc., Canada. Online version: http://journals.hil.unb.ca/index.php/aor. All righteserved.
42 Wei Ding Comparisons of Commercial MIP Solvers an Adaptive Memory Procedure Note that the classical LPT algorithm is only useful to solve the problem of scheduling one group of jobs on multi processors at same speeds or different speeds. Therefore, our aim of this study is to propose an improved LPT algorithm based on the classical LPT algorithm to use this new algorithm to analyze this problem provided processors have different speeds. The remainder of the paper is organized as follows. In Section 2, we proposed an improved LPT algorithm study several properties of the improved LPT algorithm. In Section 3 we obtain an upper bound for the ratio of the approximate solution T to the optimal solution T under the improved LP T algorithm. 2. An improved LPT algorithm In the section, we will propose an improved LPT algorithm for this scheduling problem then investigate several properties of this algorithm. We will use the following notations throughout the remainder of the paper. Let L i (i = 1,,n) denote the ith group of jobs, let M i (i = 1,,n) M n+j (j = 1,,m) denote the ith special-purpose processor the jth general-purpose processor, respectively. Then, let L = (L 1,L 2,,L n ) st for the set of all groups of jobs let L r denote the number of all jobnl r. Finally, let L = L 1 + L 2 + + L n denote the number of all jobs of all groups. Let J rk denote the k th job in the r th group after ordering. If the job J rk is earlier than J r k to be assigned to a processor, then we write J rk J r k. If the job J rk is assigned to the processor M l, then we write J rk M l. We use t ri (r = 1,,n; i = 1,, L r ) to denote the processing time of J ri. Then, we denote by (i = 1,,n) the speed of the special purpose processor M i by s n+j (j = 1,,m) the speed of the general purpose processor M n+j, respectively. Note that the speeds of general purpose processors are less than those of special purpose processorn real production systems. For simplicity, we take s n+j = 1 (1 j m) assume 1 (i = 1,,n). LetMT l (J rk ) denote the latest absolutely finish time of the processor M l before the job J rk is assigned let MT l denote the latest absolutely finish time of the processor M l after all jobs are assigned. Next, let ML l (J rk ) (l = 1,2,,m+n) denote the set of jobs assigned in the processor M l before the job J rk is assigned let MT l (J rk )= L r T r = t ri r = 1,2,,n, J r k M l,j r k J rk t r k, MT l = J rk M l t rk, l = 1,2,,n+m, ML l (J rk )={J r k J r k J rk,j r k M l} l = 1,2,,n+m. The main strategy of the improved LP T algorithm is based on the intuitive fact that n groups are listed in order of the total real processing time of the group, i.e., T 1 T2 Tn s n, that the jobn each group are listed in order of the total processing time of the job, i.e., t ri t ri+1, r = 1,2,,n, i = 1,2,, L r 1, that whenever a processor becomedle for assignment, the first job unexecuted is taken from the list assigned to this processor. Assume that the job is assigned in an increasing order of the index that if all jobs before thekr th job in the groupl r have been assigned the jobj rkr is waiting for being assigned, then jobs J 1k1, J 2k2,,J nkn are called as cidates. Definition 1. When jobsj 1k1,J 2k2,,J nkn are cidates, the possible absolutely processing time (SMT) of the special-purpose processor for the group L r is SMT r (k r )=T r t ri, J ri n+m r = 1,2,,n. M j,i<k r When some group L r is the empty set, we set SMT r = SMT r (k) 0, wherek is an arbitrary positive integer. Definition 2. When the job J rkr is the cidate, the relative SMT of the group L r (r = 1,2,,n) is SMT r (k r ), r = 1,2,,n. The steps of the improved LPT algorithm are the following: Step 1. Ordering. Let T 1 / T 2 / T n /s n, t ri t ri+1, i = 1,2,, L r 1, r = 1,2,,n. Step 2. Initialization. Set k r = 1, MT l (J rkr ) = 0, ML l (J rkr ) =,r = 1,2,,n,l = 1,2,,n+m.
Wei Ding Algorithmic Operations Research Vol.7 (2012) 41 50 43 Step 3. Choose the job for processing according to the rule of the maximum relative SMT. If r = min{r SMT r (k r ) = max r =1,2,,n then the job J rkr is the cidate. SMT r (k r ) }, (1) Step 4. Choose the processor according to the rule of being the first with the earlier idle time. When the job J rkr L r (r = 1,2,,n) is waiting for being assigned, if p=min{q MT q(j rkr )+t rkr s q MT l (J rkr )+t rkr = min }, l=r,n+1,,n+m s l then let J rkr M p. Step 5. If all jobs are assigned, then the program is over. Otherwise, go to Step 3. Let ST(J ij ) CT(J ij ) denote the beginning time the finishing time of the job J ij, respectively. We now present several properties of the improved LP T algorithm. Lemma 1. (1) If J ij,j rk M l, l = 1,2,,n+m, J ij J rk, then CT(J ij ) ST(J rk ). (2) If J ij,j rk L r, r = 1,2,,n, J ij J rk, then CT(J ij ) t ij ST(J rk ). (3) If J ij L r, r = 1,2,,n, then MT l(j ij)+t ij s l CT(J ij ), l = r,n+1,,n+m. Proof. By Step 1 the definitions of ST(J ij ) CT(J ij ), we get (1) (2). By Step 4 the definitions of ST(J ij ) CT(J ij ), we obtain (3). This completes the proof of the lemma. Lemma 2. Let T be the makespan of the above improved LPT algorithm. If there exists a job J rp L r such that CT(J rp ) = T, r = 1,2,,n, p = 1,2,, L r J kq J rp, k = 1,2,,n, k r, q = 1,2,, L k, then T k SMT k (q) > s k T. Proof. BecauseJ kq J rp, we may assume the jobj kq is chosen to assign when J kq J rs are cidates, where s p. Based on the algorithm, we obtain SMT k (q) s k > SMT r(s). By the definition of SMT, we have T k > SMT k(q) > SMT r(s) SMT r(p). s k s k If J rp M r, in view of CT(J rp ) = T T being the makespan, thenmt r = T. From the definition of SMT r (p), we know that J rp is the last finish job, but may not be the last assigned job of the groupl r. When the job J rp is waiting for being assigned, we have SMT r (p)=t r = t rj n+m J ri Mj,i<p J ri M r,i<p MT r = Then it follows that Thus, we get t rj +t rp +t rp+1 + +t r Lr, J ri M r,i<p t rj +t rp. SMT r (p) MT r = T. T k SMT k (q) > s k T. If J rp M j (n+1 j n+m), in view of Step 4, then we have MT r (J rp )+t rp > MT j (J rp )+t rp = T. (2) It follows that MT r (J rp )+t rp > T. Note that CT(J rp ) = T. Thus SMT r (p)=mt r (J rp )+ t ri i p =MT r (J rp )+t rp + i p+1 t ri MT r (J rp )+t rp > T. (3) Therefore, we gett k > SMT k (q) > s k T. This completes the proof of the lemma. Lemma 3. If there exists a job J rp L r in L = (L 1,L 2,,L n ) such thatct(j rp ) = T(L) there exists at least one group L k, k r, such that {J kq J kq n+m M j,j kq J rp } =,
44 Wei Ding Comparisons of Commercial MIP Solvers an Adaptive Memory Procedure then there exists some L such that L < L T(L )/T (L ) T(L)/T (L) = T/T, where T(L) = T T (L) = T. Proof. Note that the assumption {J kq J kq n+m M j,j kq J rp } = means that all assigned jobn L k before the last finish job J rp have not been assigned on the general-purpose processorm j (n+1 j n+m). Let L 1 = L 1, L 2 = L 2,,L k 1 = L k 1, L k = L k+1,,l n 1 = L n, L n =, L = (L 1, L 2,, L n ). Then SMT n (L ) 0 the order of the jobn L 1, L 2,,L n 1 is the same as that in L L k. Thus, they have the same assignment. By the assumption of Lemma 3, we know that all assigned jobnl k before the jobj rp have been assigned on the special-purpose processor M k. Thimplies that any assigned jobn L k after the last finish jobj rp will not change the last finish timet(l). SchedulingL L k on n+m processors equivalent to scheduling L on n+m processors. Therefore the last finish time of L is the same as that of L, i.e. CT(L J rp ) = CT(L J rp ) = T(L). L < L, it follows that This yields T (L ) T (L). T(L )/T (L ) T(L)/T (L). This completes the proof of the lemma. 3. Analysis of the improved LPT algorithm In the section, we obtain an upper bound for the ratio of the approximate solution T to the optimal solution T under the improved LPT algorithm. Theorem 1. Consider the problem of scheduling n groups of jobs L = {L 1,L 2,,L n } on {M 1,M 2,,M n } special-purpose processors {M n+1,m n+2,m n+m } general-purpose processors at different speeds with the objective of minimizing the makespan. Let T be the makespan of the above improvedlpt algorithm. Then the bound of this scheduling problem under the improved LPT algorithm is T T 1+ m, i I where I is the set of group of jobn which there exists at least one job to be assigned on some general-purpose processor before the latest finish time. Proof. Assume there exists J rp L r such that CT(J rp ) = T. Case A. If I = n, i.e., J kq L k, k r, {J kq J kq n+m M j,j kq J rp }, then we may assume u k = max{i J ki n+m M j,j ki J rp }. From the algorithm J k1 M k, we know that u k 2. Note that CT(J rp ) = T. By Lemma 1, we obtain MT r (J rp )+t rp CT(J rp ) = T. By Lemma 2, for any J kuk L k, k r, we have Thus T T 1 +T 2 + +T n m+ n T k SMT k (u k ) > s k T. T 1 +T 2 + +MT r (J rp )+t rp + +T n m+ n T + T + + T + +s n T m+ n n m+ n T. This yields T T 1+ n m.
Wei Ding Algorithmic Operations Research Vol.7 (2012) 41 50 45 Case B. If I < n, i.e., there existsj kq L k, k r, such that {J kq J kq n+m M j,j kq J rp } =, then by Lemma 3 the definition of I, we know that there exists L L = I such that {J kq J kq n+m M j,j kq J rp }, J kq L k, k r. By Lemma 3, in view of the proof of case A, we have T T = T(L) T (L) T(L ) T (L ) 1+ m. This completes the proof of the theorem. i I As a consequence of Theorem 1, we have Corollary 1. The scheduling problem in Theorem 1 under the improved LPT algorithm has the bound T T 1+ m I. Next, the following example will show how the improved LP T algorithm works. Consider the following scheduling problems. Assume that there are three groups of jobs each group separately owns one special-purpose processor jointly owns two general-purpose processors. Step 1. Ordering. Let the jobs of the group L 1 be denoted by J 11, J 12, J 13, J 14, J 15, J 16, let their absolutely processing time be t 11 = 65, t 12 = 42, t 13 = 37, t 14 = 36, t 15 = 28, t 16 = 22, respectively. Let the jobs of the group L 2 be denoted by J 21, J 22, J 23, J 24, J 25, let their absolutely processing time be t 21 = 70, t 22 = 55, t 23 = 45, t 24 = 39, t 25 = 31, respectively. Let the jobs of the group L 3 be denoted by J 31, J 32, J 33, J 34, J 35, J 36, let their absolutely processing time be t 31 = 60,t 32 = 50,t 33 = 40, t 34 = 36, t 35 = 34, t 36 = 30, respectively. Let the speed of the special-purpose M 1 of L 1 be =, let the speed of the special-purposem 2 ofl 2 be =, let the speed of the special-purpose M 3 of L 3 be =, respectively. Let the speeds of two general-purpose processors be s 4 = = 1. Then T 1 = 230, T 2 = 240, T 3 = 250, T1 = 191.7, T2 = 184.6, T3 = 166.7. Step 2. Initialization. Set k 1 = 1, k 2 = 1, k 3 = 1. Let the latest absolutely finish time of all processors be MT l = 0, let the sets of jobs assigned in all processors beml l =, l = 1,2,3,4,5. Step 3. Choose the job for processing according to the rule of the maximum realtive SMT. SMT 1 (1) = 230 = 191.7, SMT 2 (1) = 240 = 184.6, SMT 3 (1) = 166.7, it follows that the jobj 11 is the cidate. Takek 1 = 2. Step 4. Choose the processor according to the rule of being the first with the earlier idle time. (MT 1 +t 11 ) = 65 = 54.2, (MT 4 +t 11 ) s 4 = 65 1 = 65, (MT 5 +t 11 ) = 65 1 = 65, it follows that the job J 11 is assigned on the processor M 1. Thus ML 1 = {J 11 }, MT 1 = 65. SMT 1 (2) = 230 = 191.7, SMT 2 (1) = 240 = 184.6, SMT 3 (1) = 166.7, it follows that the jobj 12 is the cidate. Takek 1 = 3. (MT 1 +t 12 ) = (65+42) = 89.2, (MT 4 +t 12 ) s 4 = 42 1 = 42,
46 Wei Ding Comparisons of Commercial MIP Solvers an Adaptive Memory Procedure (MT 5 +t 12 ) = 42 1 = 42, it follows that the job J 12 is assigned on the processor M 4. Thus ML 4 = {J 12 }, MT 4 = 42. = 156.7, SMT 2 (1) = 240 = 184.6, SMT 3 (1) = 166.7, it follows that the jobj 21 is the cidate. Takek 2 = 2. (MT 2 +t 21 ) = 70 = 53.8, (MT 4 +t 21 ) = (42+70) = 112, (MT 5 +t 21 ) = 70 1 = 70, it follows that the job J 21 is assigned on the processor M 2. Thus, ML 2 = {J 21 }, MT 2 = 70. = 156.7, SMT 2 (2) = 240 = 184.6, SMT 3 (1) = 166.7, it follows that the jobj 22 is the cidate. Takek 2 = 3. (MT 2 +t 22 ) = 125 = 96.2, (MT 4 +t 22 ) s 4 = 97 1 = 97, (MT 5 +t 22 ) = 55 1 = 55, it follows that the job J 22 is assigned on the processor M 5. Thus ML 5 = {J 22 }, MT 5 = 55. = 156.7, SMT 3 (1) = 166.7, it follows that the jobj 31 is the cidate. Takek 3 = 2. (MT 3 +t 31 ) = 60 = 40, (MT 4 +t 31 ) = (42+60) = 102, (MT 5 +t 31 ) = (55+60) = 115, it follows that the job J 31 is assigned on the processor M 3. Thus ML 3 = {J 31 }, MT 3 = 60. = 156.7, SMT 3 (2) = 166.7, it follows that the jobj 32 is the cidate. Takek 3 = 3.
Wei Ding Algorithmic Operations Research Vol.7 (2012) 41 50 47 (MT 3 +t 32 ) = (60+50) = 73.3, (MT 4 +t 32 ) = (42+50) = 92, (MT 5 +t 32 ) = (55+50) = 105, it follows that J 32 is assigned on the processor M 3. Thus, ML 3 = {J 31,J 32 }, MT 3 = 60+50 = 110. = 156.7, SMT 3 (3) = 166.7, it follows that the jobj 33 is the cidate. Takek 3 = 4. (MT 3 +t 33 ) = (110+40) = 100, (MT 4 +t 32 ) = (42+40) = 82, (MT 5 +t 32 ) = (55+40) = 95, it follows that the job J 33 is assigned on the processor M 4. Thus, ML 4 = {J 12,J 33 }, MT 4 = 42+40 = 82. = 156.7, it follows that the jobj 13 is the cidate. Takek 1 = 4. (MT 1 +t 13 ) = (65+37) = 85, (MT 4 +t 13 ) = (82+37) = 119, (MT 5 +t 13 ) = (55+37) 1 = 92, it follows that the job J 13 is assigned on the processor M 1. Thus, ML 1 = {J 11,J 13 }, MT 1 = 65+37 = 102. SMT 1 (4) = 156.7, it follows that the jobj 14 is the cidate. Takek 1 = 5. (MT 1 +t 14 ) = (102+36) = 115, (MT 4 +t 14 ) = (82+36) = 118, (MT 5 +t 14 ) = (55+36) = 91, it follows that the job J 14 is assigned on the processor M 5. Thus, ML 5 = {J 22,J 14 }, MT 5 = 55+36 = 91. = 126.7,
48 Wei Ding Comparisons of Commercial MIP Solvers an Adaptive Memory Procedure it follows that the jobj 23 is the cidate. Takek 2 = 4. (MT 2 +t 23 ) = (70+45) = 88.5, (MT 4 +t 23 ) = (82+45) = 127, (MT 5 +t 23 ) = (91+45) = 136, it follows that the job J 23 is assigned on the processor M 2. Thus ML 2 = {J 21,J 23 }, MT 2 = 70+45 = 115. SMT 2 (4) = 126.7, it follows that the jobj 24 is the cidate. Takek 2 = 5. (MT 2 +t 24 ) = (115+39) = 118.5, (MT 4 +t 24 ) = (82+39) = 121, (MT 5 +t 24 ) = (91+39) = 130, it follows that the job J 24 is assigned on the processor M 2. Thus, ML 2 = {J 21,J 23,J 24 }, MT 2 = 115+39 = 154. SMT 2 (5) = 126.7, it follows that J 25 is the cidate. Take k 2 = 6. (MT 2 +t 25 ) = (154+31) (MT 4 +t 25 ) = (82+31) = 113, (MT 5 +t 25 ) = (91+31) = 122, it follows that the job J 25 is assigned on the processor M 4. Thus ML 4 = {J 12,J 33,J 25 }, MT 4 = 82+31 = 113. Note that all jobn L 2 have been assigned. By comparing with = 126.7 we see that the job J 34 is the cidate. Take k 3 = 5. (MT 3 +t 34 ) = (110+36) = 97.3, (MT 4 +t 34 ) = (113+36) = 149, (MT 5 +t 34 ) = (91+36) = 127, it follows that the job J 34 is assigned on the processor M 3. Thus, ML 3 = {J 31,J 32,J 34 }, MT 3 = 110+36 = 146.
Wei Ding Algorithmic Operations Research Vol.7 (2012) 41 50 49 SMT 3 (5) = 126.7 it follows that the jobj 35 is the cidate. Takek 3 = 6. (MT 3 +t 35 ) = (146+34) = 120, (MT 4 +t 35 ) = (113+34) = 147, (MT 5 +t 35 ) = (91+34) = 125, it follows that the job J 35 is assigned on the processor M 3. Thus, ML 3 = {J 31,J 32,J 34,J 35 }, MT 3 = 146+34= 180. SMT 3 (6) = 126.7 it follows that the jobj 36 is the cidate. Takek 3 = 7. (MT 3 +t 36 ) = (180+30) (MT 4 +t 36 ) = (113+30) = 143, (MT 5 +t 36 ) = (91+30) = 121, it follows that the job J 36 is assigned on the processor M 5. Thus, ML 5 = {J 22,J 14,J 36 }, MT 5 = 91+30 = 121. all jobnl 3 have been assigned, we only need to assign the remaining jobn L 1. Thus the job J 15 is the cidate. Take k 1 = 6. (MT 1 +t 15 ) = (102+28) = 108.3, (MT 4 +t 15 ) = (113+28) = 141, (MT 5 +t 15 ) = (121+28) = 149, it follows that J 15 is assigned on the processor M 1. Thus, ML 1 = {J 11,J 13,J 15 }, MT 1 = 102+28 = 130. Let the job J 16 be the cidate. Take k 1 = 7. (MT 1 +t 16 ) = (130+22) = 126.7, (MT 4 +t 16 ) = (113+22) = 135, (MT 5 +t 16 ) = (121+22) = 143, it follows that the job J 16 is assigned on the processor M 1. Thus, ML 1 = {J 11,J 13,J 15,J 16 }, MT 1 = 130+22. Step 5. If all jobs are assigned, then the program is over. Up to now, all jobn any groups have been assigned. So all assigned jobs on each processor their finish time are the following: ML 1 ={J 11,J 13,J 15,J 16 },MT 1 =152, MT 1 =126.7, ML 2 = {J 21,J 23,J 24 },MT 2 = 154, MT 2 = 118.5, ML 3 = {J 31,J 32,J 34,J 35 },MT 3 = 180, MT 3 = 120,
50 Wei Ding Comparisons of Commercial MIP Solvers an Adaptive Memory Procedure References ML 4 = {J 12,J 33,J 25 },MT 4 = 113, MT 4 s 4 = 113, ML 5 = {J 22,J 14,J 36 },MT 5 = 121, MT 5 = 121. Thus, T = 126.7 T (T 1 +T 2 +T 3 ) ( + + +s 4 + ) = 120. On the other h, we have the following assignment: ML 1 = {J 11,J 12,J 13 },MT 1 = 144, MT 1 = 120, ML 2 = {J 21,J 22,J 25 },MT 2 = 156, MT 2 = 120, ML 3 ={J 31,J 32,J 33,J 36 },MT 3 =180, MT 3 =120, ML 4 ={J 14,J 15,J 16,J 35 },MT 4 =120, MT 4 s 4 =120, ML 5 = {J 23,J 24,J 34 },MT 5 = 120, MT 5 = 120. Thimplies that the optimal solution T = 120. Thus, T T = 126.7 120 = 1.0558 < 1+ 2 (++) =, which is consistent with the conclusion of Theorem 1. Acknowledgments: This work was partially supported by NSFC (No. 10971234). The author thanks the referee for valuable comments suggestions. Received 1-3-2011; revised 19-3-2012; accepted 27-6-2012 [1] W. Ding, A type of scheduling problem on generalpurpose machinery n group tasks, OR Transactions, 10 (2006), 122 126. [2] W. Ding, A type of scheduling problem on m generalpurpose machinery n group tasks with uniform processors, Acta Sci. Natur. Univ. Sunyatseni, 47 (2008), 19 22. [3] W. Ding, An improved LS algorithm for the Q m+2 /r j /C max scheduling problem on m general-purpose machineries two special-purpose machineries, Comm. On Appl. Math. And Comput., 23 (2009), 26 34. [4] W. Ding, Heuristic algorithm of the Q//C max problem on multi-tasks with uniform processors, Acta Sci. Natur. Univ. Sunyatseni, 49 (2010), 5 8. [5] W. Ding Y. Zhao, An improved LS algorithm for the problem of scheduling multi groups of jobs on multi processors at the same speed, Algorithmic Operations Research, 5 (2010), 34 38. [6] M. Gairing, B. Monien A. Woclaw, A faster combinatorial approximation algorithm for scheduling unrelated parallel machines, Theoret. Comput. Sci., 380 (2007), 87 99. [7] R. L. Graham, Bounds on multiprocessing timing anomalies, SIAM J. Appl. Math., 17 (1969), 416 429. [8] Cs. Imreh, Scheduling problems on two sets of identical machines, Computing, 70 (2003), 277 294. [9] I. M. Ovacik R. Uzsoy, Worst-case error bounds for parallel machine sceduling problems with bounded sequence dependent setup times, Oper. Res. Lett., 14 (1993), 251 256. [10] P. Schuurman G. J. Woeginger, Polynomial time approximation algorithms for machine scheduling: Ten open problems, J. Sched. 2 (1999), 203 213.