Parallel-machine scheduling with simple linear ... - CiteSeerX

0 downloads 0 Views 141KB Size Report
Let the jobs be indexed according to the SGR order so that a1 6 a2 6 ءءء 6 an. We introduce variables xj, j ¼ 1, 2, ... , n, where xj ¼ k if job Jj is processed on ...
Available online at www.sciencedirect.com

European Journal of Operational Research 188 (2008) 342–347 www.elsevier.com/locate/ejor

Discrete Optimization

Parallel-machine scheduling with simple linear deterioration to minimize total completion time Min Ji a, T.C.E. Cheng a

b,*

College of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, PR China b Department of Logistics, The Hong Kong Polytechnic University, Kowloon, Hong Kong Received 20 April 2006; accepted 24 April 2007 Available online 13 May 2007

Abstract We consider the parallel-machine scheduling problem in which the processing time of a job is a simple linear increasing function of its starting time. The objective is to minimize the total completion time. We give a fully polynomial-time approximation scheme (FPTAS) for the case with m identical machines, where m is fixed. This study solves an open problem that has been posed in the literature for ten years. Ó 2007 Elsevier B.V. All rights reserved. Keywords: Parallel-machine scheduling; Deteriorating jobs; FPTAS

1. Introduction For most scheduling problems it is assumed that the job processing times are fixed parameters [14]. However, such restrictive assumptions represent an oversimplified view of reality. Job processing times are not necessarily fixed because jobs may deteriorate while waiting to be processed. Examples can be found in financial management, steel production, resource allocation and national defence, etc., where any delay in processing a job may result in deterioration in accomplishing the job. For a list of applications, the reader is referred to [2,10,11,13]. Such problems are generally known as the deteriorating job scheduling problem. Work on the deteriorating job scheduling problem was initiated by Brown and Yechiali [2], and Gupta and Gupta [6]. They focused on the single-machine makespan problem under the linear deteriorating condition. Since then, scheduling problems with time-dependent processing times have received increasing attention. An extensive survey of different models and problems was provided by Alidaee and Womer [1]. Cheng et al. [5] recently presented an updated survey of the results on scheduling problems with time-dependent processing times.

*

Corresponding author. Tel.: +852 27665216; fax: +852 23645245. E-mail addresses: [email protected] (M. Ji), [email protected] (T.C.E. Cheng).

0377-2217/$ - see front matter Ó 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2007.04.050

M. Ji, T.C.E. Cheng / European Journal of Operational Research 188 (2008) 342–347

343

The problem under consideration can be formally described as follows: There are n independent jobs J ¼ fJ 1 ; J 2 ; . . . ; J n g, which are simultaneously available at time t0 > 0, to be processed non-preemptively on m identical parallel-machines. We assume, as in Mosheiov [12,13], and Chen [3,4], that the actual processing time of job Jj is pj ¼ aj sj , where sj and aj are the starting time and the growth (or deterioration) rate of Jj, respectively. The assumption ‘‘t0 > 0’’ is made here to avoid the trivial case of t0 ¼ 0 (when t0 ¼ 0, the completion time of each job will be 0). Let C[i] denote the completion time of the ith job in a schedule. Q It is easy to see that C ½iþ1 ¼ s½iþ1 þ p½iþ1 ¼ s½iþ1 ð1 þ a½iþ1 Þ ¼ C ½i ð1 þ a½iþ1 Þ. Thus, by induction, C ½i ¼ t0 ij¼1 ð1 þ a½j Þ for every i P 1 in a schedule. Since t0 is a common factor in all the completion times, it will not affect the optimal schedule under any performance criterion. Without loss of generality, Pn we assume that t0 and all aj for every j are integral. Our goal is to minimize the total completion time, i.e., j¼1 C j . Using the notation of Chen [3], we denote the problem as the PTCT (i.e., parallel-machine total completion time) problem. The above defined problem may date back to Mosheiov [12], who first considered single-machine scheduling under the simple linear deteriorating assumption. The most commonly used performance measures were considered, such as makespan, total completion time, total weighted completion time, total weighted waiting time, total tardiness, number of tardy jobs, maximum lateness and maximum tardiness. He showed that all these models are polynomially solvable. For the multiple machine case of the simple linear deteriorating problem, Mosheiov [13] showed its NP-hardness even for the two-machine case, and presented an asymptotically optimal heuristic for the parallel-machine makespan problem. Chen [3,4] proved that the PTCT problem is NP-hard even with a fixed number of machines. He also proposed an approximation algorithm with a parameter dependent worst-case ratio for the two-machine case. For a fixed number of machines, he pointed out that whether there exists a polynomial time heuristic with a constant worst-case ratio remains open. More recently, Wu and Lee [15], and Ji et al. [7] extended the single-machine problem to the situation where the machine has an availability constraint. Wu and Lee [15] studied the resumable case of the makespan problem. They showed that the linear deteriorating model can be solved as a 0–1 integer programming problem. Ji et al. [7] considered the non-resumable case to minimize the makespan and the total completion time. They established their computational complexity, proposed approximation algorithms with tight bounds and presented computational results. In this paper we present a fully polynomial-time approximation scheme (FPTAS) for the PTCT problem with a fixed number of machines, which greatly improves on the bound in Chen [3], noting that the parameter dependent worst-case ratio given in Chen [3] may be infinity. Our FPTAS closely follows the FPTAS developed in [8,9]. We have thus solved the open problem that has been posed in Chen [3] for ten years. The presentation of this paper is organized as follows. In Section 2 we propose an FPTAS for the m-machine case of the PTCT problem, where m is fixed, and prove its correctness and establish its time complexity. Finally, we conclude the paper in Section 3. 2. An FPTAS An algorithm A is called a ð1 þ eÞ-approximation algorithm for a minimization problem if it produces a solution that is at most 1 þ e times as big as the optimal value, running in time that is polynomial in the input size. A family of approximation algorithms fAe g is a fully polynomial-time approximation scheme (FPTAS) if, for each e > 0, the algorithm Ae is a ð1 þ eÞ-approximation algorithm that is polynomial in the input size and in 1=e. From now on we assume, without loss of generality, that 0 < e 6 1. If e > 1, then a 2-approximation algorithm can be taken as a ð1 þ eÞ-approximation algorithm. Mosheiov [12] showed that the smallest growth rate (SGR) order is optimal for the single-machine case of the problem, which leads to the following property. Property 1. On each machine of an optimal solution for the PTCT problem, all the jobs are sequenced in the SGR order, i.e., in nondecreasing order of aj . Let the jobs be indexed according to the SGR order so that a1 6 a2 6    6 an . We introduce variables xj, j ¼ 1; 2; . . . ; n, where xj ¼ k if job Jj is processed on machine k, k 2 f1; 2; . . . ; mg. Let X be the set of all the vectors x ¼ ðx1 ; x2 ; . . . ; xn Þ with xj ¼ k, j ¼ 1; 2; . . . ; n, k ¼ 1; 2; . . . ; m. We define the following initial and recursive functions on X:

344

M. Ji, T.C.E. Cheng / European Journal of Operational Research 188 (2008) 342–347

f0i ðxÞ ¼ t0 ; h0 ðxÞ ¼ 0;

i ¼ 1; 2; . . . ; m;

k k fjk ðxÞ ¼ fj1 ðxÞ þ aj fj1 ðxÞ;

fji ðxÞ

¼

for xj ¼ k;

i fj1 ðxÞ;

for xj ¼ k; i 6¼ k; m X hj ðxÞ ¼ hj1 ðxÞ þ fji ðxÞ: i¼1

Thus, the PTCT problem with m machines reduces to the following problem: Minimize hn ðxÞ

for x 2 X :

We first introduce procedure PartitionðA; e; dÞ proposed by Kovalyov and Kubiak [8,9], where A  X , e is a nonnegative integer function on X, and 0 < d 6 1. This procedure partitions A into disjoint subsets Ae1 ; Ae2 ; . . . ; Aeke such that jeðxÞ  eðx0 Þj 6 d minfeðxÞ; eðx0 Þg for any x; x0 from the same subset Aej , j ¼ 1; 2; . . . ; k e . The following description provides the details of PartitionðA; e; dÞ. Procedure. PartitionðA; e; dÞ Step 1. Arrange vectors x 2 A in the order xð1Þ ; xð2Þ ; . . . ; xðjAjÞ such that 0 6 eðxð1Þ Þ 6 eðxð2Þ Þ 6    6 eðxðjAjÞ Þ. Step 2. Assign vectors xð1Þ ; xð2Þ ; . . . ; xði1 Þ to set Ae1 until i1 is found such that eðxði1 Þ Þ 6 ð1 þ dÞeðxð1Þ Þ and eðxði1 þ1Þ Þ > ð1 þ dÞeðxð1Þ Þ. If such i1 does not exist, then take Aeke ¼ Ae1 ¼ A, and stop. Assign vectors xði1 þ1Þ ; xði1 þ2Þ ; . . . ; xði2 Þ to set Ae2 until i2 is found such that eðxði2 Þ Þ 6 ð1 þ dÞeðxði1 þ1Þ Þ and eðxði2 þ1Þ Þ > ð1 þ dÞeðxði1 þ1Þ Þ. If such i2 does not exist, then take Aeke ¼ Ae2 ¼ A  Ae1 , and stop. Continue the above construction until xðjAjÞ is included in Aeke for some ke. Procedure Partition requires OðjAj log jAjÞ operations to arrange the vectors of A in nondecreasing order of e(x), and Oðj A jÞ operations to provide a partition. The main properties of Partition that will be used in the development of our FPTAS Ae were presented in Kovalyov and Kubiak [8,9] as follows. Property 2. jeðxÞ  eðx0 Þj 6 d minfeðxÞ; eðx0 Þg for any x; x0 2 Aej , j ¼ 1; 2; . . . ; k e . Property 3. k e 6 log eðxðjAjÞ Þ=d þ 2 for 0 < d 6 1 and 1 6 eðxðjAjÞ Þ. A formal description of the FPTAS Ame for the PTCT problem with m machines is given below. Algorithm 1. Ae Step 1. (Initialization) Number the jobs in the SGR order so that a1 6 a2 6    6 an (Property 1). Set Y 0 ¼ fð0; 0; . . . ; 0Þg and j = 1. Step 2. (Generation of Y 1 ; Y 2 ; . . . ; Y n ) For set Y j1 , generate Y 0j by adding k, k ¼ 1; 2; . . . ; m, in position j of each vector from Y j1 . Calculate the following for any x 2 Y 0j , assuming xj ¼ k. k k ðxÞ þ aj fj1 ðxÞ; fjk ðxÞ ¼ fj1 i fji ðxÞ ¼ fj1 ðxÞ;

for i 6¼ k; m X fjk ðxÞ: hj ðxÞ ¼ hj1 ðxÞ þ

ð1Þ

k¼1

If j ¼ n, then set Y n ¼ Y 0n , and go to Step 3. If j < n, then set d ¼ e=ð2ðn þ 1ÞÞ, and perform the following computations. i i i Call Partition ðY 0j ; fji ; dÞ (i ¼ 1; 2; . . . ; m) to partition set Y 0j into disjoint subsets Y f1 ; Y f2 ; . . . ; Y fk i . f 0 0 h h h Call Partition ðY j ; hj ; dÞ to partition set Y j into disjoint subsets Y 1 ; Y 2 ; . . . ; Y kh . 1 m Divide set Y 0j into disjoint subsets Y a1 am b ¼ Y fa1 \    \ Y fam \ Y hb , a1 ¼ 1; 2; . . . ; k f 1 ; . . .; am ¼ 1; 2; . . . ; k f m ; b ¼ 1; 2; . . . ; k h . For each nonempty subset Y a1 ...am b , choose a vector xða1 ...am bÞ such that hj ðxða1 ...am bÞ Þ ¼ minfhj ðxÞ j x 2 Y a1 ...am b g:

M. Ji, T.C.E. Cheng / European Journal of Operational Research 188 (2008) 342–347

345 1

m

Set Y j :¼ fxða1 ...am bÞ j a1 ¼ 1; 2; . . . ; k f 1 ; . . . ; am ¼ 1; 2; . . . ; k f m ; b ¼ 1; 2; . . . ; k h ; and Y fa1 \ . . . \ Y fam \ Y hb 6¼ ;g, and j ¼ j þ 1. Repeat Step 2. Step 3. (Solution) Select vector x0 2 Y n such that hn ðx0 Þ ¼ minfhn ðxÞ j x 2 Y n g. Let x ¼ ðx1 ; x2 ; . . . ; xn Þ be an optimal solution for the PTCT problem with a fixed number of machines. Let L ¼ logðmaxfn; 1=e; 1 þ amax ; t0 gÞ, where amax ¼ maxnj¼1 faj g. We show the main result of this section in the following. Theorem 1. Algorithm Ae finds x0 2 X for the PTCT problem with m machines such that hn ðx0 Þ 6 ð1 þ eÞhn ðx Þ in Oðn2mþ3 Lmþ2 =emþ1 Þ. Proof. Suppose that ðx1 ; . . . ; xj ; 0; . . . ; 0Þ 2 Y a1 am b  Y 0j for some j and a1 ; . . . am ; b. By the definition of Ae , such j always exists, for instance j = 1. Algorithm Ae may not choose ðx1 ; . . . ; xj ; 0; . . . ; 0Þ for further construction; however, for a vector xða1 am bÞ chosen instead of it, we have jfji ðx Þ  fji ðxða1 am bÞ Þj 6 dfji ðx Þ;

i ¼ 1; . . . ; m;

and jhj ðx Þ  hj ðxða1 am bÞ Þj 6 dhj ðx Þ; ða am bÞ

due to Property 2. Set d1 ¼ d. We consider vector ðx1 ; . . . ; xj ; xjþ1 ; 0; . . . ; 0Þ and ~xða1 am bÞ ¼ ðx1 1 ða a bÞ xj 1 m ; xjþ1 ; 0; . . . ; 0Þ. WLOG, we assume xjþ1 ¼ k. It follows that

;...;

k k jfjþ1 ðx Þ  fjþ1 ð~xða1 am bÞ Þj

¼ jðfjk ðx Þ þ ajþ1 fjk ðx ÞÞ  ðfjk ðxða1 am bÞ Þ þ ajþ1 fjk ðxða1 am bÞ ÞÞj ¼ jð1 þ ajþ1 Þðfjk ðx Þ  fjk ðxða1 am bÞ ÞÞj 6 ð1 þ ajþ1 Þdfjk ðx Þ k ¼ d1 fjþ1 ðx Þ;

Consequently, k k fjþ1 ð~xða1 am bÞ Þ 6 ð1 þ d1 Þfjþ1 ðx Þ;

Similarly, for i 6¼ k, we have i i fjþ1 ð~xða1 am bÞ Þ 6 ð1 þ d1 Þfjþ1 ðx Þ:

Therefore, we obtain jhjþ1 ðx Þ  hjþ1 ð~xða1 am bÞ Þj ¼ jðhj ðx Þ þ

m X

i fjþ1 ðx ÞÞ  ðhj ðxða1 am bÞ Þ þ

i¼1 m X i¼1 m X

i fjþ1 ð~xða1 am bÞ ÞÞj

i¼1

6 jhj ðx Þ  hj ðxða1 am bÞ Þj þ 6 d1 ðhj ðx Þ þ

m X

i fjþ1 ðx ÞÞ

i¼1 

¼ d1 hjþ1 ðx Þ: Consequently, hjþ1 ð~xða1 am bÞ Þ 6 ð1 þ d1 Þhjþ1 ðx Þ:

i i jfjþ1 ðx Þ  fjþ1 ð~xða1 am bÞ Þj

ð2Þ

346

M. Ji, T.C.E. Cheng / European Journal of Operational Research 188 (2008) 342–347

Assume that ~xða1 am bÞ 2 Y c1 cm d  Y 0jþ1 and Algorithm Ae chooses xðc1 cm dÞ 2 Y c1 cm d instead of ~xða1 am bÞ in the ðj þ 1Þst iteration. We have i i i i jfjþ1 ð~xða1 am bÞ Þ  fjþ1 ðxðc1 cm dÞ Þj 6 dfjþ1 ð~xða1 am bÞ Þ 6 dð1 þ d1 Þfjþ1 ðx Þ;

i ¼ 1; . . . ; m;

and jhjþ1 ð~xða1 am bÞ Þ  hjþ1 ðxðc1 cm dÞ Þj 6 dhjþ1 ð~xða1 am bÞ Þ 6 dð1 þ d1 Þhjþ1 ðx Þ:

ð3Þ

From (2) and (3), we obtain jhjþ1 ðx Þ  hjþ1 ðxðc1 cm dÞ Þj 6 jhjþ1 ðx Þ  hjþ1 ð~xða1 am bÞ Þj þ jhjþ1 ð~xða1 am bÞ Þ  hjþ1 ðxðc1 cm dÞ Þj 6 ðd1 þ dð1 þ d1 ÞÞhjþ1 ðx Þ

ð4Þ

¼ ðd þ d1 ð1 þ dÞÞhjþ1 ðx Þ: Set dl ¼ d þ dl1 ð1 þ dÞ, l ¼ 2; 3; . . . ; n  j þ 1. From (4), we obtain jhjþ1 ðx Þ  hjþ1 ðxðc1 cm dÞ Þj 6 d2 hjþ1 ðx Þ: Repeating the above argument for j þ 2; . . . ; n, we show that there exists x0 2 Y n such that jhn ðx Þ  hn ðx0 Þj 6 dnjþ1 hn ðx Þ: Since dnjþ1 6 d

n X j ð1 þ dÞ j¼0

¼ ð1 þ dÞ

nþ1

1

¼

nþ1 X ðn þ 1Þn    ðn  j þ 2Þ j d j! j¼1

¼

nþ1 X ðn þ 1Þn    ðn  j þ 2Þ  e j j 2 j!ðn þ 1Þ j¼1

6

nþ1 X 1  e j j! 2 j¼1

6

nþ1  j X e j¼1

2

nþ1  j X 1 6e 2 j¼1

6 e: Therefore, we have jhn ðx Þ  hn ðx0 Þj 6 ehn ðx Þ: Then in Step 3, vector x0 will be chosen such that hn ðx0 Þ 6 hn ðx0 Þ 6 ð1 þ eÞhn ðx Þ: The time complexity of Algorithm Ae can be established by noting that the most time-consuming operation of iteration j of Step 2 is a call of procedure Partition, which requires OðjY 0j j log jY 0j jÞ time to complete. To estimate jY 0j j, recall that jY 0jþ1 j 6 2jY j j 6 2k 1f k 2f    k mf k h . By Property 3, we have k if 6 2ðn þ 1Þ logðt0 ð1 þ amax Þn Þ=

M. Ji, T.C.E. Cheng / European Journal of Operational Research 188 (2008) 342–347

347

2

e þ 2 6 2ðn þ 1Þ L=e þ 2, i ¼ 1; 2; . . . ; m, and the same for kh. Thus, jY 0j j ¼ Oðn2ðmþ1Þ Lmþ1 =emþ1 Þ, and jY 0j j log jY 0j j ¼ Oðn2ðmþ1Þ Lmþ2 =emþ1 Þ. Therefore, the time complexity of Algorithm Ae is Oðn2ðmþ1Þþ1 Lmþ2 = emþ1 Þ. h 3. Conclusions This paper studied the parallel-machine scheduling problem in which the processing time of a job is a simple linear function of its starting time to minimize the total completion time. We gave a fully polynomial-time approximation scheme for the case with m machines, where m is fixed. Future research may focus on scheduling problems with jobs of more general deterioration types. It will also be interesting to investigate problems with other scheduling objectives. Acknowledgement Cheng was supported in part by The Hong Kong Polytechnic University under a grant from the Area of Strategic Development in China Business Services. Ji was supported by the National Natural Science Foundation of China under Grant number 60673179, and Zhejiang Gongshang University under Grant numbers 1130XJ030621 and Q07-03. References [1] B. Alidaee, N.K. Womer, Scheduling with time dependent processing times: Review and extensions, Journal of Operational Research Society 50 (1999) 711–720. [2] S. Brown, U. Yechiali, Scheduling deteriorating jobs on a single process, Operations Research 38 (1990) 495–498. [3] Z.L. Chen, Parallel machine scheduling with time dependent processing times, Discrete Applied Mathematics 70 (1996) 81–93. [4] Z.L. Chen, Erratum to ‘‘Parallel machine scheduling with time dependent processing times’’ [Discrete Applied Mathematics 70 (1996) 81–93], Discrete Applied Mathematics, 1997 (75) 103. [5] T.C.E. Cheng, Q. Ding, B.M.T. Lin, A concise survey of scheduling with time-dependent processing times, European Journal of Operational Research 152 (2004) 1–13. [6] J.N.D. Gupta, S.K. Gupta, Single facility scheduling with nonlinear processing times, Computers and Industrial Engineering 14 (1988) 387–393. [7] M. Ji, Y. He, T.C.E. Cheng, Scheduling linear deteriorating jobs with an availability constraint on a single machine, Theoretical Computer Science 362 (2006) 115–126. [8] M.Y. Kovalyov, W. Kubiak, A fully polynomial approximation scheme for minimizing makespan of deteriorating jobs, Journal of Heuristics 3 (1998) 287–297. [9] M.Y. Kovalyov, W. Kubiak, A fully polynomial approximation scheme for the weighted earliness-tardiness problem, Operations Research 47 (1999) 757–761. [10] W. Kubiak, S.L. van de Velde, Scheduling deteriorating jobs to minimize makespan, Naval Research Logistics 45 (1998) 511–523. [11] A.S. Kunnathur, S.K. Gupta, Minimizing the makespan with late start penalties added to processing times in a single facility scheduling problem, European Journal of Operational Research 47 (1990) 56–64. [12] G. Mosheiov, Scheduling jobs under simple linear deterioration, Computers and Operations Research 21 (1994) 653–659. [13] G. Mosheiov, Multi-machine scheduling with linear deterioration, INFOR 36 (4) (1998) 205–214. [14] M. Pinedo, Scheduling: Theory, Algorithms, and Systems, Prentice-Hall, Upper Saddle River, NJ, 2002. [15] C.C. Wu, W.C. Lee, Scheduling linear deteriorating jobs to minimize makespan with an availability constraint on a single machine, Information Processing Letters 87 (2003) 89–93.