An FPTAS for parallel-machine scheduling under a grade of service provision to minimize makespan

An FPTAS for parallel-machine scheduling under a grade of service provision to minimize makespan

Information Processing Letters 108 (2008) 171–174 Contents lists available at ScienceDirect Information Processing Letters www.elsevier.com/locate/i...

133KB Sizes 3 Downloads 64 Views

Information Processing Letters 108 (2008) 171–174

Contents lists available at ScienceDirect

Information Processing Letters www.elsevier.com/locate/ipl

An FPTAS for parallel-machine scheduling under a grade of service provision to minimize makespan Min Ji a , T.C.E. Cheng b,∗ a b

College of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310035, P.R. China Department of Logistics, The Hong Kong Polytechnic University, Kowloon, Hong Kong

a r t i c l e

i n f o

a b s t r a c t

Article history: Received 29 October 2007 Received in revised form 6 February 2008 Accepted 30 April 2008 Available online 7 May 2008 Communicated by M. Yamashita

We consider the m parallel-machine scheduling problem that process service requests from various customers who are entitled to different levels of grade of service (GoS). The objective is to minimize the makespan. We give a fully polynomial-time approximation scheme for the case where m is fixed. © 2008 Elsevier B.V. All rights reserved.

Keywords: Scheduling Eligibility Grade of service Makespan

1. Introduction It is common practice in any service industry to provide differential services to customers based on their entitled privileges assigned according to their promised levels of grade of service (GoS). Jobs are allowed to be processed on a particular machine when the GoS level of the job is no less than the GoS level of the machine. In fact, the processing capability of the machines labeled with a high GoS level tends to be reserved for jobs with a high GoS level. Hence, if we assign relatively high GoS levels to the jobs from valued customers, we can ensure providing better service to more valued customers. In such situations, assigning jobs to machines becomes a parallel-machine scheduling problem with a special eligibility constraint. The problem under consideration can be formally described as follows: There are n independent jobs J = { J 1 , J 2 , . . . , J n } and m identical machines M = { M 1 , M 2 , . . . , M m }. The processing time of job J j is p j . Each job J j

*

Corresponding author. E-mail addresses: [email protected] (M. Ji), [email protected] (T.C.E. Cheng). 0020-0190/$ – see front matter doi:10.1016/j.ipl.2008.04.021

© 2008 Elsevier B.V.

All rights reserved.

and each machine M i are labeled with the GoS levels G ( J j ) and G ( M i ), respectively. Job J j is allowed to be processed on machine M i only when G ( M i )  G ( J j ). A feasible schedule is, then, a partition of J into m disjoint sets, S =  S 1 , S 2 , . . . , S m  such that S i is allowed to include J j only if G ( M i )  G ( J j ). Let C j be the completion time of job J j in a schedule. The objective is to minimize the makespan, i.e., C max = max j =1,2,...,n C j . Using the three-field notation of Graham et al. [1], we denote this scheduling model as P m |Go S |C max . The above defined problem dates back to Hwang et al. [2]. They proposed an approximation algorithm LGLPT, and proved that its makespan is not greater than 54 times the optimal makespan for m = 2 and not greater than 2 − 1/(m − 1) times the optimal makespan for m  3. Jiang [5], Park et al. [9] and Jiang et al. [6] investigated the semi-online and online versions of the considered model. In this paper we present a fully polynomial-time approximation scheme (FPTAS) for the problem P m |Go S |C max with a fixed number of m, which greatly improves the bound in Hwang et al. [2]. The design of the FPTAS closely follows our earlier works [3,4], in which two FPTASs were presented for two time-dependent scheduling problems where each job can be processed on any machine. Con-

172

M. Ji, T.C.E. Cheng / Information Processing Letters 108 (2008) 171–174

sequently, the basic descriptions in this paper are similar to those in [3,4]. Specifically, we design a modified FPTAS in this paper to deal with the special eligibility constraint that the jobs and machines each have a GoS level. So the modified FPTAS makes a contribution to the practice of scheduling. The presentation of this paper is organized as follows. In Section 2 we propose an FPTAS for the problem P m |Go S |C max , where m is fixed, and prove its correctness and establish its time complexity. We conclude the paper in Section 3. 2. An FPTAS An algorithm A is called a (1 + ε )-approximation algorithm for a minimization problem if it produces a solution that is at most 1 + ε times as big as the optimal value, running in time that is polynomial in the input size of the problem instance. A family of approximation algorithms {Aε } is called a fully polynomial-time approximation scheme (FPTAS) if, for each ε > 0, the algorithm Aε is a (1 + ε )approximation algorithm that is polynomial in the input size of the problem instance and in 1/ε . From now on we assume, without loss of generality, that 0 < ε  1. If ε > 1, then a 2-approximation algorithm can be taken as a (1 + ε )-approximation algorithm. Without loss of generality, we assume that all the machines are indexed in nondecreasing order of G ( M i ) so that G ( M 1 )  G ( M 2 )  · · ·  G ( M m ). We first define s j = max{i | G ( M i )  G ( J j )} for each j = 1, 2, . . . , n. Therefore job J j can be processed on machine M 1 , . . . , M s j . Then we introduce variables x j , j = 1, 2, . . . , s j , where x j = k if job J j is processed on machine M k , k ∈ {1, 2, . . . , s j }. Let X be the set of all the vectors x = (x1 , x2 , . . . , xn ) with x j = k, j = 1, 2, . . . , n, k = 1, 2, . . . , s j . We define the following initial and recursive functions on X : f 0i (x) = 0, f kj (x)

=

i = 1, 2, . . . , m,

f kj−1 (x) +

f ji (x) = f ji−1 (x),

p j,

i =1,2,...,m

e

struction until x(| A |) is included in A ke for some ke . e

Procedure Partition requires O (| A | log | A |) operations to arrange the vectors of A in nondecreasing order of e (x), and O (| A |) operations to provide a partition. The main properties of Partition that will be used in the development of our FPTAS {Am ε } were presented in Kovalyov and Kubiak [7,8] as follows. Property 1. |e (x) − e (x )|  δ min{e (x), e (x )} for any x, x ∈ A ej , j = 1, 2, . . . , ke . Property 2. ke  log e (x(| A |) )/δ + 2 for 0 < δ  1 and 1  e (x(| A |) ). A formal description of the FPTAS Am ε for the problem P m |Go S |C max is given below. Algorithm Am ε Step 1. (Initialization) Number the machines in nondecreasing order of G ( M i ) so that G ( M 1 )  G ( M 2 )  · · ·  G ( Mm ). Set Y 0 = {(0, 0, . . . , 0)} and j = 1. Step 2. (Generation of Y 1 , Y 2 , . . . , Y n ) For set Y j −1 , generate Y j by adding k, k = 1, 2, . . . , s j , in position j of each vector from Y j −1 . Calculate the following for any x ∈ Y j , assuming x j = k: f kj (x) = f kj−1 (x) + p j ,

for x j = k, i = k.

f ji (x) = f ji−1 (x),

Minimize Q (x) for x ∈ X , max

e

tors x(i 1 +1) , x(i 1 +2) , . . . , x(i 2 ) to set A e2 until i 2 is found such that e (x(i 2 ) )  (1 + δ)e (x(i 1 +1) ) and e (x(i 2 +1) ) > (1 + δ)e (x(i 1 +1) ). If such i 2 does not exist, then take A ke = A e2 = A − A e1 , and stop. Continue the above con-

for x j = k,

Thus, the problem P m |Go S |C max reduces to the following problem:

Q (x) =

Step 2. Assign vectors x(1) , x(2) , . . . , x(i 1 ) to set A e1 until i 1 is found such that e (x(i 1 ) )  (1 + δ)e (x(1) ) and e (x(i 1 +1) ) > (1 + δ)e (x(1) ). If such i 1 does not exist, then take A ke = A e1 = A, and stop. Assign vec-

where

for i = k.

If j = n, then set Y n = Y n , and go to Step 3. If j < n, then set δ = ε /(2(n + 1)), and perform the following computations. Call Partition(Y j , f ji , δ) to partition set Y j into disjoint fi

fi

fi

subsets Y 1 , Y 2 , . . . , Y k

f ni (x).

We first introduce the procedure Partition( A , e , δ) proposed by Kovalyov and Kubiak [7,8], where A ⊆ X , e is a nonnegative integer function on X , and 0 < δ  1. This procedure partitions A into disjoint subsets A e1 , A e2 , . . . , A ke

Procedure 1. Partition( A , e , δ) Step 1. Arrange vectors x ∈ A in the order x(1) , x(2) , . . . , x(| A |) such that 0  e (x(1) )  e (x(2) )  · · ·  e (x(| A |) ).

(i = 1, 2, . . . , m). f1

= Y a1 ∩

fm

· · · ∩ Y am , a1 = 1, 2, . . . , k f 1 ; . . .; am = 1, 2, . . . , k f m . For each nonempty subset Y a1 ···am , choose a vector x(a1 ···am ) such that

e

such that |e (x) − e (x )|  δ min{e (x), e (x )} for any x, x from the same subset A ej , j = 1, 2, . . . , ke . The following description provides the details of Partition( A , e , δ).

fi

Divide set Y j into disjoint subsets Y a1 ···am

f ji (x(a1 ···am ) ) = min





max

i =1,2,...,m

f ji (x) | x ∈ Y a1 ···am .

Set Y j := {x(a1 ···am ) | a1 = 1, 2, . . . , k f 1 ; . . . ; am = 1, 2, f1

fm

. . . , k f m and Y a1 ∩ · · · ∩ Y am = ∅}, and j = j + 1. Repeat Step 2. Step 3. (Solution) Select vector x0 ∈ Y n such that Q (x0 ) = min{ Q (x) | x ∈ Y n } = min{maxi =1,2,...,m f ni (x) | x ∈ Y n }.

M. Ji, T.C.E. Cheng / Information Processing Letters 108 (2008) 171–174

173

Let x∗ = (x∗1 , x∗2 , . . . , xn∗ ) be an optimal solution for the problem P m |Go S |C max with a fixed number of machines. Let L = log(max{n, 1/ε , p max }), where p max = max j =1,2,...,n p j . We show the main result of this section in the following.

Repeating the above argument for j + 2, . . . , n, we show that there exists x ∈ Y n such that

0 Theorem 1. Algorithm Am ε finds x ∈ X for the problem 0 P m |Go S |C max such that Q (x )  (1 + ε ) Q (x∗ ) in O (nm+1 L m+1 /εm ).

δn− j +1  δ

 i ∗   f (x ) − f i (x )  δn− j +1 f i (x∗ ), n n n Since

=

j =1

i = 1, . . . , m,

 δ1 f kj (x∗ )  δ1 f kj+1 (x∗ ).

(1)

 ∗ i x(a1 ···am ) )  δ1 f ji+1 (x∗ ), j +1 (x ) − f j +1 (˜

(2)

and f ji+1 (˜x(a1 ···am ) )  (1 + δ1 ) f ji+1 (x∗ ). Assume that x˜ (a1 ···am ) ∈ Y c1 ···cm ⊆ Y j +1 and Algorithm

Aε chooses x(c1 ···cm ) ∈ Y c1 ···cm instead of x˜ (a1 ···am ) in the ( j + 1)th iteration. We have   i  f (˜x(a1 ···am ) ) − f i (x(c1 ···cm ) ) j +1 j +1 m

For i = 1, 2, . . . , m, from (1), (2) and (3), we obtain

 ∗ i (c 1 ···cm )  )  δ2 f ji+1 (x∗ ). j +1 (x ) − f j +1 (x

ε



2

n+1  j 

1

j =1

2

n +1  j =1

ε

j

2

 ε.

Therefore, we have

  i ∗  f (x ) − f i (x )  ε f i (x∗ ), n n n

i = 1, 2, . . . , m.

f ni (x ) −

max

i =1,2,...,m

 

f ni (x∗ )  ε

max

i =1,2,...,m

f ni (x∗ ).

Then in Step 3, vector x0 will be chosen such that

     max f ni (x0 ) − max f ni (x∗ ) i =1,2,...,m i =1,2,...,m       max f ni (x ) − max f ni (x∗ ) ε

max

i =1,2,...,m

i =1,2,...,m

f ni (x∗ ).

Therefore we have Q (x0 )  (1 + ε ) Q (x∗ ). The time complexity of Algorithm Am ε 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 (|Y j | log |Y j |) time to complete. To estimate |Y j |, recall that |Y j +1 |  m|Y j |  mk1f k2f · · · kmf . By

Property 2, we have kif  2(n + 1) log(np max )/ε + 2 

2(n + 1) L /ε + 2, i = 1, 2, . . . , m. Thus, |Y j | = O (nm L m /εm ),

m+1 m+1 complexity of Algorithm Am L /ε m ) . ε is O (n

2

3. Conclusion



f ji+1 (x(c1 ···cm ) )

This paper studied the m parallel-machine scheduling problem under a grade of service provision. For the objective of minimizing makespan, we gave a fully polynomialtime approximation scheme for the case where m is fixed. Future research may focus on other scheduling objectives. (4)

Set δl = δ + δl−1 (1 + δ), l = 2, 3, . . . , n − j + 1. From (4), we obtain

 i f

j!

 j

and |Y j | log |Y j | = O (nm L m+1 /εm ). Therefore, the time

i = 1, . . . , m. (3)

)−  i    f j+1 (x∗ ) − f ji+1 (˜x(a1 ···am ) )   +  f ji+1 (˜x(a1 ···am ) ) − f ji+1 (x(c1 ···cm ) )    δ1 + δ(1 + δ1 ) f ji+1 (x∗ )   = δ + δ1 (1 + δ) f ji+1 (x∗ ).

1

i =1,2,...,m

 i f

j +1 (x



i =1,2,...,m

Similarly, for i = k, we have



j =1

   max

f kj+1 (˜x(a1 ···am ) )  (1 + δ1 ) f kj+1 (x∗ ).

 i f

n +1 

It implies

Consequently,

 δ f ji+1 (˜x(a1 ···am ) )  δ(1 + δ1 ) f ji+1 (x∗ ),

(n + 1)n · · · (n − j + 2) j δ j!

j =1



  k  f (x∗ ) − f k (˜x(a1 ···am ) ) j +1 j +1     =  f kj (x∗ ) + p j +1 − f kj (x(a1 ···am ) ) + p j +1    =  f kj (x∗ ) − f kj (x(a1 ···am ) ) 

n +1 

 j n+1  (n + 1)n · · · (n − j + 2) ε = 2 j !(n + 1) j

a vector x(a1 ···am ) chosen instead of it, we have

due to Property 1. Set δ1 = δ . We consider vector (x∗1 , . . . , (a ···a ) (a ···a ) x∗j , x∗j +1 , 0, . . . , 0) and x˜ (a1 ···am ) = (x1 1 m , . . . , x j 1 m , ∗ x j +1 , 0, . . . , 0). Without loss of generality, we assume x∗j +1 = k. It follows that

n  (1 + δ) j = (1 + δ)n+1 − 1 j =0

Proof. Suppose that (x∗1 , . . . , x∗j , 0, . . . , 0) ∈ Y a1 ···am ⊆ Y j for some j and a1 , . . . , am . By the definition of Am ε , such a j always exists (e.g., j = 1). Algorithm Am ε may not choose (x∗1 , . . . , x∗j , 0, . . . , 0) for further construction; however, for

  i ∗  f (x ) − f i (x(a1 ···am ) )  δ f i (x∗ ), j j j

i = 1, 2, . . . , m.

Acknowledgements We thank two anonymous referees for their helpful comments on an earlier version of our paper. Ji was supported by the National Natural Science Foundation of

174

M. Ji, T.C.E. Cheng / Information Processing Letters 108 (2008) 171–174

China under grant number 60673179, and Zhejiang Gongshang University under grant numbers 1130XJ030621 and Q07-03. Cheng was supported in part by The Hong Kong Polytechnic University under a grant from the Area of Strategic Development in China Business Services. References [1] R.L. Graham, E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, Optimization and approximation in deterministic sequencing and scheduling: a survey, Annals of Discrete Mathematics 5 (1979) 287–326. [2] H.C. Hwang, S.Y. Chang, K. Lee, Parallel machine scheduling under a grade of service provision, Computers & Operations Research 31 (2004) 2055–2061. [3] M. Ji, T.C.E. Cheng, An FPTAS for scheduling jobs with piecewise linear decreasing processing times to minimize makespan, Information Processing Letters 102 (2007) 41–47.

[4] M. Ji, T.C.E. Cheng, Parallel-machine scheduling with simple linear deterioration to minimize total completion time, European Journal of Operational Research 188 (2008) 342–347. [5] Y.W. Jiang, Online scheduling on parallel machines with two GoS levels, Lecture Notes in Computer Science 4041 (2006) 11– 21. [6] Y.W. Jiang, Y. He, C.M. Tang, Optimal online algorithms for scheduling on two identical machines under a grade of service, Journal of Zhejiang University—Science A 7 (2006) 309–314. [7] M.Y. Kovalyov, W. Kubiak, A fully polynomial approximation scheme for minimizing makespan of deteriorating jobs, Journal of Heuristics 3 (1998) 287–297. [8] M.Y. Kovalyov, W. Kubiak, A fully polynomial approximation scheme for the weighted earliness-tardiness problem, Operations Research 47 (1999) 757–761. [9] J. Park, S.Y. Chang, K. Lee, Online and semi-online scheduling of two machines under a grade of service provision, Operations Research Letters 34 (2006) 692–696.