Online scheduling on unbounded parallel-batch machines to minimize the makespan

Online scheduling on unbounded parallel-batch machines to minimize the makespan

Information Processing Letters 109 (2009) 1211–1215 Contents lists available at ScienceDirect Information Processing Letters www.elsevier.com/locate...

176KB Sizes 0 Downloads 34 Views

Information Processing Letters 109 (2009) 1211–1215

Contents lists available at ScienceDirect

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

Online scheduling on unbounded parallel-batch machines to minimize the makespan Ji Tian a , T.C.E. Cheng b,∗ , C.T. Ng b , Jinjiang Yuan c a b c

School of Sciences, China University of Mining and Technology, Xuzhou, Jiangsu 221116, People’s Republic of China Department of Logistics and Maritime Studies, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong, People’s Republic of China Department of Mathematics, Zhengzhou University, Zhengzhou, Henan 450052, People’s Republic of China

a r t i c l e

i n f o

a b s t r a c t

Article history: Received 12 January 2009 Received in revised form 7 May 2009 Accepted 31 August 2009 Available online 2 September 2009 Communicated by A.A. Bertossi Keywords: Algorithms Online scheduling Parallel-batch machines Makespan Competitive ratio

We consider online scheduling on m parallel-batch machines to minimize the makespan where the batch capacity is unbounded. The processing time of a job becomes known only upon its arrival. We give an improved lower bound 1 + αm on the competitive ratio, where αm is the positive solution of the equation αm2 + mαm − 1 = 0, and establish a best possible online algorithm matching this lower bound. We also provide a new lower bound 3/2 on the competitive ratio for dense-algorithms, and present a best possible dense-algorithm matching this lower bound. © 2009 Elsevier B.V. All rights reserved.

1. Introduction Batch scheduling has been extensively studied in the past two decades. In parallel-batch scheduling, a machine can process several jobs simultaneously as a batch as long as the batch capacity is not exceeded. The processing time of a batch is defined as the maximum processing time of the jobs in the batch, and all the jobs in a batch have the same starting time and the same completion time. This scheduling model is prevalent in semiconductor manufacturing. In the literature, there are detailed descriptions of the semiconductor manufacturing process, e.g., Uzsoy et al. [12,13], Avramidis et al. [1] and Mathirajan and Sivakumar [8]. There are two versions of parallel-batch scheduling: one is the unbounded model in which b = ∞, and the other is the bounded model in which b < ∞, where b denotes the batch capacity. In online scheduling, information about jobs becomes known to the scheduler in stages. Many definitions of online are given in the literature. In this paper, online means

*

Corresponding author. E-mail address: [email protected] (T.C.E. Cheng).

0020-0190/$ – see front matter doi:10.1016/j.ipl.2009.08.008

© 2009 Elsevier B.V.

All rights reserved.

that jobs arrive over time. The quality of an online algorithm is usually measured by its competitive ratio. We say that an online algorithm is ρ -competitive if, for any instance, it produces an objective value at most ρ times the objective value given by an off-line optimal schedule. We consider online scheduling on m unbounded parallel-batch machines to minimize the makespan. In this problem, there are m unbounded parallel-batch machines. Each job has an arrival time and a processing time, which are known only upon its arrival. Using the standard scheduling classification scheme of Lawler et al. [4], the problem is denoted as P m| p-batch, b = ∞, online|C max . There are plenty of results on parallel-batch scheduling. In the off-line setting, for problem 1| p-batch, b, r j |C max , Lee and Uzsoy [6] provided polynomial-time algorithms for some special cases. Liu and Yu [7] showed that the problem with only two arrival times is NP-hard, and gave a pseudopolynomial-time algorithm for the case with a fixed number of arrival times. Brucker et al. [2] proved that the general problem is NP-hard in the strong sense. In the online setting, for problem 1| p-batch, b, online|C max , Deng et al. [3] and Zhang et al. [14] independently provided the same best possible online algorithm with a competitive

1212

J. Tian et al. / Information Processing Letters 109 (2009) 1211–1215



ratio 52+1 when b = ∞. Poon and Yu [10] further established a best parameterized online algorithm, containing the previous algorithm. When b < ∞, Zhang et al. [14] provided two online algorithms with a competitive ratio at most 2. Poon and Yu [11] proved that a class of algorithms (including the two algorithms provided in [14]) has a competitive ratio 2, and they gave an online algorithm with a competitive ratio 7/4 when b = 2. For prob= ∞, online|C max , Zhang et al. [14] gave lem P m| p-batch, b √ m+1 2 on the competitive ratio, and prea lower bound sented an online algorithm P H (βm ) with a competitive ratio 1 + βm , where 0 < βm < 1 is a solution of the equation βm = (1 − βm )m−1 . In the same paper, they also considered dense-algorithms √ for this problem. Specifically, they gave a lower bound 2 on the competitive ratio, and √ presented

a dense-algorithm with a competitive ratio 52+1 . When all the jobs have equal processing times, Zhang et al. [15] established two best possible √ online algorithms with com-

petitive ratios 1 + ξm and 52+1 for the unbounded case and bounded case, respectively, where ξm is the positive solution of the equation (1 +ξm )m+1 = ξm + 2. When m = 2, Nong et al. [9] and Tian et al. [5] provided different √ online algorithms with the same competitive ratio√ 2; and the latter authors also provided a lower bound 2 on the competitive ratio. So both algorithms provided in [9] and [5] are best possible. In this paper, for problem P m| p-batch, b = ∞, online|C max , we give a new lower bound 1 + αm on the competitive ratio and establish an online algorithm H (αm ) matching this lower bound, where αm is the positive solu2 + mαm − 1 = 0. We also consider tion of the equation αm dense-algorithms for this problem. Specifically, we give a new lower bound 3/2 on the competitive ratio, and present a dense-algorithm DA matching this lower bound. Throughout this paper, r j and p j denote the arrival time and processing time of job J j , respectively. For an instance I , let σ be the schedule produced by an online algorithm, and S j be the starting time of job J j in σ ; let π be an off-line optimal schedule, and S ∗j be the starting time of job J j in π . Denote by C max (σ ) and C max (π ) the makespan of schedules σ and π , respectively. 2. Lower bounds By [14], an online algorithm is called a dense-algorithm if it always immediately assigns the currently available jobs to one of the idle machines as long as there are at least two idle machines. Theorem 1. For problem P m| p-batch, b = ∞, online|C max , (i) there exists no online algorithm with a competitive ratio 2 + less than 1 + αm , where 0 < αm < 1 is such that αm mαm − 1 = 0; and (ii) there exists no dense-algorithm with a competitive ratio less than 3/2. Proof. To prove (i), let A be an online algorithm and  be a small positive number. The instance I we will construct has at most m + 1 jobs. Their processing times and arrival times are defined as

p 1 = 1,

p2 = 1 − S 1 ,

p m = 1 − S m −1 , r 1 = 0,

p i = 1 − S i −1 ,

...,

p m +1 = 1 + S 1 − S m ;

r2 = S 1 +  ,

r m = S m −1 +  ,

...,

...,

r i = S i −1 +  ,

...,

r m +1 = S m +  .

Write S 0 = 0. Then p j = 1 − S j −1 , ∀ j ∈ {1, . . . , m}. If S j < S j −1 + αm , then job J j +1 arrives; if S j  S j −1 + αm , then the remaining jobs J j +1 , . . . , J m+1 will never come, where 1  j  m. Denote by n the cardinality of instance I . We distinguish two cases according to the relationship between n and m + 1. Case 1. n < m + 1. Then S n  S n−1 + αm , and so C max (σ )  S n + pn  S n−1 + αm + 1 − S n−1 = 1 + αm . Since C max (π ) = max1 j n {r j + p j } = max{ S 0 + p 1 , max2 j n { S j −1 +  + 1 − S j −1 }} = 1 +  , we have C max (σ )/C max (π )  (1 + αm )/(1 +  ) → 1 + αm , as  → 0. Case 2. n = m + 1. Then, for any j ∈ {1, . . . , m}, S j −1 < r j  S j < S j −1 + αm , and so S j < j αm . So, for any i ∈ {1, . . . , m − 1}, S i +1 < (i + 1)αm  mαm < 1 = S i −1 + (1 − S i −1 ) < S i + p i . This implies that each job from { J 1 , . . . , J m } occupies independently one machine in σ . Assume that J m+1 is scheduled on the machine that processes J k in σ , where 1  k  m. Then we get C max (σ )  S k + pk + pm+1 = S k + 1 − S k−1 + 1 + S 1 − S m . Since there exists a feasible schedule, say π  , in which J 1 and J 2 are processed in the same batch on a machine, and each job from { J 3 , . . . , J n } occupies independently one machine, we obtain

C max (π )

 C max (π  )   = max S 1 +  + p 1 , max {r j + p j } 3 j n  = max S 1 +  + 1, max { S j −1 +  + 1 − S j −1 }, 3 j m  Sm +  + 1 + S 1 − Sm = 1 + S1 + . Given S 1 < αm , S k−1 < (k − 1)αm and S m < S k + (m − k)αm , we have

C max (σ ) − C max (π )

  =

C max (π ) 1 + S k − ( S k −1 + S m ) −  1 + S1 +  1 + S k − [(k − 1)αm + S k − (m − k)αm ] −  1 + αm +  1 − (m − 1)αm −  1 − (m − 1)αm

1 + αm +  as  → 0.



1 + αm

= αm ,

This proves (i). To prove (ii), we consider an arbitrary dense-algorithm B and the following instance of jobs. The first m jobs

J. Tian et al. / Information Processing Letters 109 (2009) 1211–1215

with the same processing time 1 arrive at time 0,  , . . . , (m − 1) , respectively. According to the definition of densealgorithm, algorithm B schedules job J j at time r j , i.e., S j = r j , ∀ j ∈ {1, . . . , m − 1}. Two situations need to be considered. First, S m  12 . No job occurs. Then we have C max (σ )  S m + pm 

3 2

and C max (π ) = rm + pm = 1 + (m − 1) .

Second, S m < 12 . Job J m+1 with processing pm+1 = 1 − S m comes at time S m +  . Then we get C max (σ )  S 1 + p 1 + pm+1  2 − S m > 32 and C max (π ) = max{rm + 1, rm+1 + pm+1 } = max{(m − 1) + 1, S m +  + 1 − S m } = 1 + (m − 1) . In both cases, C max (σ )/C max (π )  32 /(1 + (m − 1) ) → 3 , 2

as

 → 0. Hence, (ii) holds. 2

3. Online algorithms In an online schedule, a job J j is available at time t if it has arrived but has not been scheduled at time t. Denote by U (t ) the set of all the available jobs at time t, and by J (t ) a job of the largest processing time in U (t ). We use p (t ) and r (t ) to denote the processing time and arrival time of J (t ), respectively. Denote by B ∗ (t ) the batch (if any) with the latest starting time before time t in σ , and let S ∗ (t ) and p ∗ (t ) be the starting time and processing time of B ∗ (t ), respectively. If B ∗ (t ) does not exist, we set S ∗ (t ) = p ∗ (t ) = 0. Furthermore, we set p max (t ) as the maximum processing time of the jobs with arrival times at most t. We recall the following two online algorithms for m = 2 machines. Algorithm A 2 (α2 ). (See Nong et al. [9].) At time t, if a machine is idle, U (t ) = ∅, and t  (1 + α2 )r (t ) + α2 p (t ), then start U (t ) as a single batch on the machine at time t; otherwise, do nothing but wait. Modified-Sleepy Algorithm. (See Tian et al. [5].) At time t, if a machine is idle, U (t ) = ∅, and t  max{α2 p (t ), S  (t ) + α2 p  (t )}, then start U (t ) as a single batch on the machine at time t; otherwise, do nothing but wait. Here S  (t ) and p  (t ) are the starting time and processing of the running batch at time t, respectively (if no running batch exists at time t, then S  (t ) = p  (t ) = 0). Comparing the above two algorithms, at each decision time t, the Modified-Sleepy Algorithm will use more information about the jobs than algorithm A 2 (α2 ). In this paper we try to generalize the Modified-Sleepy Algorithm to m machines. But there are some essentially different features in our algorithm, which is as follows: Algorithm H (αm ). At time t, if a machine is idle, U (t ) = ∅, and t  η(t ) = S ∗ (t ) + αm p max (t ), then start U (t ) as a single batch on the machine at time t; otherwise, do nothing but wait. In this section we also provide the following densealgorithm: Algorithm DA. At time t, if a machine is idle, U (t ) = ∅, and either at least two machines are idle or t  λ(t ) =

1213

max{ 12 p (t ), S ∗ (t ) + 12 p ∗ (t )}, then start U (t ) as a single batch on the machine at time t; otherwise, do nothing but wait. 4. Analysis of algorithms In Section 4.1 we prove that algorithm H (αm ) is (1 + αm )-competitive; and in Section 4.2 we show that algorithm DA is tion in [9].

3 -competitive. 2

We cite the following assump-

Assumption. (See Nong et al. [9].) Without decreasing the ratio of C max (σ )/C max (π ), we can assume that there is only one job in each batch of σ . So, for any batch B j in σ produced by either H (αm ) or DA, we may suppose that B j = { J j }. Denote by J n the first job defining the makespan in σ . 4.1. Algorithm H (αm ) We consider algorithm H (αm ) and show the final result by contradiction. If possible, let I be an instance of jobs with |I | being the minimum such that

C max (σ )/C max (π ) > 1 + αm .

(1)

Suppose, for 1  j  m, B j is the last batch starting before S n on machine j. The existence of B 1 , . . . , B m is established later. We re-sort the machines so that S 1 < S 2 < · · · < S m . Since C max (σ ) = S n + pn and C max (π )  rn + pn > S m + pn , we have

C max (σ ) − C max (π ) < S n − S m ,

(2)

which will be repeatedly used. The following two inequalities can be easily observed:

η( S x ) − r x  αm C max (π ), for every batch B x in σ ;

(3)

S y  S x + αm p max ( S y ), for every two batches B x and B y with S x < S y in σ .

(4)

Since p max (t )  p 1 for t ∈ [ S 1 , S m ], by (4), we can deduce that

S 1  αm p 1 ,

and

S k  S j + (k − j )αm p 1 ,

1  j < k  m.

(5)

From (1) and (3), we observe that S n > max{η( S n ), rn }. This means that there is no idle time directly before S n in any machine in σ . Hence, B 1 , . . . , B m indeed exist. Claim 1. B 1 , . . . , B m are the only batches starting in the time interval [ S 1 , S m ]. Proof. Otherwise, there is a certain k with 1  k  m − 1 such that a batch, say B 0 , starts at S 0 ∈ ( S k , S k+1 ). Since p max (t )  p 1 for t ∈ [ S 1 , S m ], by (4), we can deduce that

1214

J. Tian et al. / Information Processing Letters 109 (2009) 1211–1215

S m  S 1 + mαm p 1 . Consequently, C max (σ ) − C max (π ) < 2 S n − S m  S 1 + p 1 − S m  p 1 − mαm p 1 = αm p 1 < αm p 1  αm C max (π ). This contradicts (1). 2 Write qi = S n − S i for 1  i  m. Then q i  p i and qm < qm−1 < · · · < q1 . From (5), we have S m − S i  (m − i )αm p 1  (m − i )αm q1 . By (2) and the fact S n − S m = ( S n − S i ) − ( S m − S i ), we deduce that, for 1  i  m,

C max (σ ) − C max (π ) < S n − S m = qm

 qi − (m − i )αm q1 .

(6)

Now, we construct a new instance I  of jobs by including all the jobs with arrival times less than rk , together with a new job with an arrival time rk and a processing time pk + pn . That is, I  = { J x ∈ I : r x < rk } ∪ { J k }, where the arrival time and processing time of J k are rk = rk and pk = pk + pn , respectively. Suppose that σ  is the schedule obtained by applying algorithm H (αm ) to instance I  . Then the schedules of the jobs in { J x ∈ I : r x < rk } are the same in both σ and σ  . Since there is no idle time in any machine directly before S k in σ , we conclude that S k  S k , where S k is the starting time of job J k in σ  . Consequently, we have

qm  αm C max (π ), by (6), C max (σ ) − C max (π ) < αm C max (π ), a contradiction. Hence,

C max (σ  )  S k + pk + pn  C max (σ ).

S n − S m = qm > αm C max (π )  αm p 1 .

Claim 5. For every job J x ∈ I with S x < S 1 , p x < p 1 .

If

(7)

Claim 2. For 1  i  m, C max (π ) < i αm q1 + qi . Proof. Otherwise, there is a certain i with 1  i  m such that C max (π )  i αm q1 + qi . Recall that S m − S i  (m − i )αm q1 . Then qi = S n − S i  S n − S m + (m − i )αm q1 . Thus, C max (π )  S n − S m + mαm q1  αm C max (π ) + mαm q1 , where 2 the last inequality follows from (7). Since mαm = 1 − αm , we get C max (π )  (1 + αm )q1 . From (6), we have C max (σ )− C max (π )  q1 −(m − 1)αm q1 = αm (1 + αm )q1  αm C max (π ). This contradicts (1). 2 Claim 3. S ∗j < S j for 1  j  m. Proof. Otherwise, there is a certain j with 1  j  m such that S ∗j  S j . Then C max (π )  S ∗j + p j  S j + q j . From (5), we obtain S j  S 1 + ( j − 1)αm p 1  j αm p 1  j αm q1 , and so C max (π )  j αm q1 + q j . This contradicts Claim 2. 2 Claim 4. Every two jobs in { J 1 , . . . , J m } cannot be scheduled on the same machine in π .

(9)

Proof. Otherwise, there is a certain job J 0 ∈ I such that S 0 < S 1 and p 0  p 1 . Then r1 > S 0  αm p 0  αm p 1 . Therefore, C max (π )  r1 + p 1 > αm p 1 + p 1 , contradicting Claim 2. 2 From Claim 5, an optimal schedule π  of I  can be easily created in the following way: We first form k batches B 1 , . . . , B k with B 1 consisting all the jobs with arrival times at most r1 and each B i with 2  i  k just containing the job released at r i ; then we start each B i at time r i . Such a schedule π  is indeed optimal since each batch starts at the arrival time of the longest job in it. From (8), we have C max (π  )  C max (π ). Combining this with (9), we finally obtain

C max (σ  )/C max (π  )  C max (σ )/C max (π ) > 1 + αm . This means that I  is a counterexample with |I  | < |I |. But this contradicts the assumption that I is a counterexample with the minimum number of jobs. The above argument shows that H (αm ) is a (1 + αm )competitive online algorithm. Combining this result with Theorem 1, we obtain

Proof. From Claim 3 and the fact S j −1 < r j  S j for 2  j  m, every two jobs from { J 1 , J 2 , . . . , J m , J n } are not in the same batch in π . Suppose, to the contrary, that J j and J k with 1  j < k  m are scheduled on the same machine in π . Then C max (π )  r j + p j + pk > S j −1 + p j + pk  ( j − 1)αm p 1 + p j + pk . Note that pk  qk  qm > αm p 1 , where the last inequality follows from (7). Then we get C max (π ) > j αm p 1 + p j . This contradicts Claim 2. 2

Theorem 2. For problem P m| p-batch, b = ∞, online|C max , algorithm H (αm ) is a best possible online algorithm with a competitive ratio 1 + αm .

By Claim 4, J n shares a common machine with job J k with 1  k  m in π . Then we have

Consider algorithm DA and an instance of jobs. If S n = rn , then C max (σ ) = C max (π ). Suppose S n > rn . Write B a = B ∗ ( S n ) and B b = B ∗ ( S a ). Then λ( S a ) = max{ 12 pa ,

C max (π )  max{rk + pk + pn , r1 + p 1 , . . . , rk−1 + pk−1 }. (8) If S k = max{η( S k ), rk }, then C max (σ ) − C max (π )  (max{η( S k ), rk } + pk + pn ) − (rk + pk + pn ) = max{η( S k ) − rk , 0}  αm C max (π ), where the last inequality follows from (3). This contradicts (1). Hence, S k > max{η( S k ), rk }. This means that there is no idle time directly before S k in any machine in σ .

4.2. Dense-algorithm DA

Sb +

1 p } 2 b

and λ( S n ) = max{ 12 pn , S a +

1 p }. 2 a

1 p } 2 a

+ pn . Since rn > S a , we have C max (π )  rn +

If S n  λ( S n ), then C max (σ )  λ( S n ) + pn = max{ 12 pn ,

Sa +

pn > S a + pn . Thus C max (σ ) − C max (π )  max{ 12 pn , 12 pa }  1 C ( 2 max

π ). Suppose S n > λ( S n ). Then there is no idle time directly before S n on any machine in σ . Let J j , 1  j  m, be the last job starting before S n on machine j. Re-sort the machines so that C 1  C 2  · · ·  C m , where C i denotes the

J. Tian et al. / Information Processing Letters 109 (2009) 1211–1215

completion time of job J i . Then J a ∈ { J 1 , . . . , J m }. Note that S n = C m = S m + pm . Then

C max (σ ) = S n + pn = S m + pm + pn

 min C j + pn .

Acknowledgements

So, if C m − rn  12 C max (π ), then C max (σ ) = C m + pn = C m −

rn + rn + pn  32 C max (π ).

Suppose C m − rn > 12 C max (π ). Then only one machine is idle at time S a in σ , since otherwise, S n > rn > S a  C m , contradicting S n = C m . Hence, S a  λ( S a ) = max{ 12 pa , S b + There are two cases to consider.

Case 1. J b ∈ { J 1 , . . . , J m }. Then J a and J b are assigned to different machines in σ . Given S a  λ( S a ) = max{ 12 pa , S b + 1 p }, 2 b

we obtain S a − S b 

1 p . 2 b

From (10), we have

p b  C m − S b = C m − rn + rn − S b 1 > C max (π ) + S a − S b 2 1 1  pb + pb = pb , 2 2 a contradiction. Thus this case does not occur. Case 2. J b ∈ / { J 1 , . . . , J m }. In this case J a and J b are assigned to the same machine in σ . Let J d be the job such that S d = max{ S j : J j ∈ { J 1 , . . . , J m }\ J a }. Denote by J c the first job such that S c > S d and J c is assigned to the machine processing J a . Then B ∗ ( S c ) = B d . Note that there is only one machine idle at time S a in σ . By the implementation of algorithm DA, there is also only one machine idle at time S c in σ . So, S c  λ( S d )  S d + 12 pd . Given S c  S b < S a < rn , we have C max (π )  rn + pn > S c + pn > S d + 12 pd + pn . From (10), C max (σ )  S d + pd + pn , and so C max (σ ) − C max (π ) 

1 p 2 d

bounded case, i.e., b < n, which requires new methods of analysis. For future online scheduling research, it is a challenge to analyze the average-case performance of online algorithms.

(10)

1 j m

1 p }. 2 b

1215

 12 C max (π ).

The above argument shows that DA is a 32 -competitive dense-algorithm. Combining this result with Theorem 1, we obtain Theorem 3. For problem P m| p-batch, b = ∞, online|C max , algorithm DA is a best possible dense-algorithm with a competitive ratio 3/2. 5. Conclusion In this paper, for problem P m| p-batch, b = ∞, online|C max , we established new lower bounds on the competitive ratios of all the online algorithms and all the dense-algorithms. In addition, we provided a best possible online algorithm and a best possible dense-algorithm that match these lower bounds. We only considered the case where the batch capacity is unbounded. As a natural extension of this research, researchers may study the

We thank an anonymous referee for his constructive comments on an earlier version of our paper. This research was supported in part by the Research Grants Council of Hong Kong under grant number N_PolyU502/07. Yuan was also supported by NFSC–RGC (70731160633), NSFC (10671183) and SRFDP (20070459002). References [1] A.N. Avramidis, K.J. Healy, R. Uzsoy, Control of a batch processing machine: A computational approach, International Journal of Production Research 36 (1998) 3167–3181. [2] P. Brucker, A. Gladky, H. Hoogeveen, M.Y. Kovalyov, C.N. Potts, T. Tautenhahn, S.L. van de Velde, Scheduling a batching machine, Journal of Scheduling 1 (1998) 31–54. [3] X.T. Deng, C.K. Poon, Y.Z. Zhang, Approximation algorithms in batch processing, Journal of Combinatorial Optimization 7 (2003) 247–257. [4] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, Sequencing and scheduling: Algorithms and complexity, in: S.C. Graves, P.H. Zipkin, A.H.G. Rinnooy Kan (Eds.), Logistics of Production and Inventory, in: Handbooks in Operation Research Management Science, vol. 4, North-Holland, Amsterdam, 1993, pp. 445–522. [5] J. Tian, R.Y. Fu, J.J. Yuan, A best online algorithm for scheduling on two parallel-batch machines with infinite batch size to minimize makespan, Theoretical Computer Science 410 (2009) 2291–2294. [6] C.Y. Lee, R. Uzsoy, Minimizing makespan on a single batch processing machine with dynamic job arrivals, International Journal of Production Research 37 (1999) 219–236. [7] Z. Liu, W.C. Yu, Scheduling one batch processor subject to job release date, Discrete Applied Mathematics 105 (2000) 129–136. [8] M. Mathirajan, A.I. Sivakumar, A literature review, classification and simple meta-analysis on scheduling of batch processors in semiconductor, International Journal of Advanced Manufacturing Technology 29 (2006) 990–1001. [9] Q.Q. Nong, T.C.E. Cheng, C.T. Ng, An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines, Operations Research Letters 36 (2008) 584–588. [10] C.K. Poon, W.C. Yu, A flexible online scheduling algorithms for batch machine with infinite capacity, Annals of Operations Research 133 (2005) 175–181. [11] C.K. Poon, W.C. Yu, Online scheduling algorithms for a batch machine with finite capacity, Journal of Combinatorial Optimization 9 (2005) 167–186. [12] R. Uzsoy, C.Y. Lee, L.A. Martin-Vega, A review of production planning and scheduling models in the semiconductor industry, part I: System characteristics, performance evaluation and production planning, IIE Transactions on Scheduling and Logistics 24 (1992) 47–61. [13] R. Uzsoy, C.Y. Lee, L.A. Martin-Vega, A survey of production planning and scheduling models in the semiconductor industry, part II: Shopfloor control, IIE Transactions on Scheduling and Logistics 26 (1994) 44–55. [14] G.C. Zhang, X.Q. Cai, C.K. Wong, Online algorithms for minimizing makespan on batch processing machines, Naval Research Logistics 48 (2001) 241–258. [15] G.C. Zhang, X.Q. Cai, C.K. Wong, Optimal online algorithms for scheduling on parallel batch processing machines, IIE Transactions 35 (2003) 175–181.