Applied Mathematical Modelling 36 (2012) 1338–1346
Contents lists available at SciVerse ScienceDirect
Applied Mathematical Modelling journal homepage: www.elsevier.com/locate/apm
Bi-criteria scheduling on a single parallel-batch machine Baoqiang Fan a,b,⇑, Jinjiang Yuan a, Shisheng Li a a b
Department of Mathematics, Zhengzhou University, Zhengzhou, Henan 450001, People’s Republic of China Department of Mathematics and Information, Ludong University, Yantai, Shandong 264025, People’s Republic of China
a r t i c l e
i n f o
Article history: Received 8 December 2010 Received in revised form 19 July 2011 Accepted 27 July 2011 Available online 5 August 2011 Keywords: Bi-criteria scheduling Complexity Pareto-optimal solution Fully polynomial-time approximation scheme
a b s t r a c t This paper considers bi-criteria scheduling on a single parallel-batch machine to minimizing two regular scheduling criteria that are non-decreasing in the job completion times. For minimizing the total weighted completion time and the makespan simultaneously, we prove that the problem is NP-hard in the ordinary sense and possesses a fully polynomial-time approximation scheme. For minimizing the weighted total number of tardy jobs and the makespan simultaneously, we provide a pseudo-polynomial-time algorithm and a fully polynomial-time approximation scheme. Furthermore, we identify that all ParetoP Pn n optimal solutions for and can be found in pseudoj¼1 wj C j ; C max j¼1 wj U j ; C max polynomial time, respectively. Ó 2011 Elsevier Inc. All rights reserved.
1. Introduction There has been an abundance of research on parallel-batch scheduling model, where most of the research deals with a single criterion. In this paper, we consider bi-criteria scheduling on a single parallel-batch machine which can process jobs in batches. Here, a batch is a set of jobs. The processing time of a batch is equal to the maximum processing time of the jobs in it. All the jobs contained in the same batch have the same starting time and the same completion time. Once processing of a batch is started, it cannot be interrupted, nor can other jobs be added to the batch. This model is motivated by the problem of scheduling burn-in operations in the manufacturing of very large-scale integrated circuits (see, e.g., [1]). Let b be the batch size in the parallel-batch scheduling model. There are two variants: the unbounded model, in which b P n so that there is no upper bound on the number of jobs that can be processed in the same batch; and the bounded model, in which b is a number smaller than n so that there is a restrictive upper bound. The unbounded model arises, for instance, in situations where compositions need to be hardened in kilns, and the kiln is sufficiently large that it does not restrict batch sizes. In this article we consider the unbounded situation. The fundamental model of the parallel-batch scheduling problem was first introduced by Lee et al. [1] in which they consider the bounded situation. Potts and Kovalyov [2] and Mathirajan and Sivakumar [3] review the existing results of parallelbatch scheduling problems. The unbounded parallel-batch makespan Cmax problem is solved trivially by putting all jobs in P one batch. For the unbounded parallel-batch total weighted completion time wj C j problem, Brucker et al. [4] proposed an O(n log n)-time dynamic programming algorithm; Deng and Zhang [5] proved that the problem with jobs release dates is NPhard in the ordinary sense, and Liu and Cheng [6] provided an FPTAS for this problem. Cheng et al. [7] studied the unbounded parallel-batch scheduling problem subject to job release dates and deadlines to find a feasible schedule. They proved the NP-hardness for the case where all jobs have agreeable processing times and deadlines, and presented polynomial time
⇑ Corresponding author at: Department of Mathematics, Zhengzhou University, Zhengzhou, Henan 450001, People’s Republic of China. E-mail addresses:
[email protected] (B. Fan),
[email protected] (J. Yuan). 0307-904X/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.apm.2011.07.084
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
1339
P algorithms for some special cases. Liu et al. [8] proved that minimizing total tardiness T j is NP-hard and established the pseudo-polynomial solvability of the unbounded batch machine scheduling problem with job release dates and any regular P objective fmax ð fj Þ that are non-decreasing in the job completion times. For minimizing weighted total number of tardy jobs P wj U j problem, Brucker et al. [4] proved that the unbounded problem is NP-hard in the ordinary sense and can be solved in pseudo-polynomial time. When the weights of all jobs are unit, they solved the problem in O(n3) time. Furthermore, they proved that the bounded problem with due dates or deadlines are NP-hard in the strong sense. Recent developments of this topic can be found in [9–11]. Bi-criteria scheduling has been widely studied in the literature (see [12–14] for more detail). Suppose we are given two criteria c1 and c2 in a bi-criteria scheduling problem. Here, two criteria may represent different interests of two decisionmakers. Then there are four models studied in previous literatures: (a) find a schedule to minimize the positive linear combination of c1 and c2; (b) find a schedule to minimize the second criterion c2 among the set of optimal schedules minimizing the first criterion c1; (c) find a schedule to minimize the second criterion c2 under an upper bound on the first criterion c1, this scenario is called constrained optimization; (d) find all Pareto-optimal solutions for (c1, c2), this scenario is called Paretooptimization. For the bounded parallel-batch bi-criteria scheduling, Liu et al. [15] study model (b) on single machine where P the primary criterion is Cmax. They show that the problem where the secondary criterion is wj C j can be solved in polynoP P mial time for a given batch size b and the problem where the secondary criterion is U j ð wj U j Þ is (strongly) NP-hard. To the best of our knowledge, for the unbounded parallel-batch bi-criteria scheduling, the only well solved case is the single machine problem with bi-criteria Cmax and Lmax. For this problem, He et al. [16] presented an O(n3)-time algorithm to find all Pareto-optimal solutions. P For the two criteria wj C j and Cmax on a single parallel-batch machine, the above model (a) is equivalent to problem P 1jp-batch; b P nj wj C j . For model (b), when c1 = Cmax, the problem is trivial, since all jobs must be assigned into a single P batch; when c1 ¼ wj C j , the problem can be easily solved by the following dynamic programming recursion in O(n2) time:
HðjÞ ¼ minfðwj þ þ wn Þpk þ Hðk þ 1Þ : j 6 k 6 ng; CðjÞ ¼ minfpk þ Cðk þ 1Þ : j 6 k 6 n; ðwj þ þ wn Þpk þ Hðk þ 1Þ ¼ HðjÞg; where, under the assumption that the jobs are indexed by the shortest processing time order so that p1 6 6 pn, we define that H(n + 1) = 0, C(n + 1) = 0, H(j) is the minimum total weighted completion time of jobs when the jobs under scheduling are Jj, . . . , Jn, and C(j) is the corresponding minimum makespan of schedules assuming H(j). For model (b) with the two criteria P P P wj U j and Cmax, when c1 ¼ wj U j , the problem is NP-hard from the fact that problem 1jp-batch; b P nj wj U j is NP-hard. Hence, we focus our research on model (c) and (d) in this paper. Following the standard classification scheme for scheduling problems [9], the problem is denoted by 1jp-batch; b P njc2 : c1 with respect to model (c), and by 1jp-batch; b P njc2 c1 with respect to model (d). A feasible schedule p is Pareto-optimal with respect to the performance criteria c1 and c2 if there is no feasible schedule r such that both c1(r) 6 c1(p) and c2(r) 6 c2(p), where at least one of the inequalities is strict. A general approach for finding Pareto-optimal schedules of a scheduling problem is to solve the corresponding constrained scheduling problems. That is, the solution for 1jp-batch; b P njc2 c1 is based on a well-study on 1jp-batch; b P njc2 : c1. The remainder of this paper is organized as follows. In Section 2, we introduce some notation and assumptions. We consider the two criteria the makespan and the total weighted completion times in Section 3, and the makespan and the weighted total tardy jobs in Section 4. We demonstrate the proposed algorithms by two examples in Section 5. Some concluding remarks are given in the last section. 2. Notation and assumptions In this section, we introduce some notation and assumptions, and study some properties of optimal schedule for our problems. There are n independent jobs J1, J2, . . . , Jn to be processed on a single parallel-batch machine. Each job Jj has a processing time pj, a weight wj which is a measure of its importance, and a due date dj by which it should ideally be completed. The jobs are available from time zero onwards. The machine can process up to b jobs simultaneously, where b P n. If B is a batch, then we define p(B) = max{pj : Jj 2 B}. The number of jobs in batch B is denoted by jBj. The machine is available from time zero onwards. Throughout this paper, we assume that all parameters are positive integers. For a given feasible schedule p = (B1, . . . , Bm), we use S(Bi) = S(Bi, p) and C(Bi) = C(Bi, p) denote the starting time and the completion time of batch Bi (i = 1, . . . , m) in a schedule p, respectively. The completion time of job Jj in p, for each Jj 2 Bi and i = 1, . . . , m, is Cj = C(Bi). Associated with each job Jj, is a regular cost function that is monotone nondecreasing with respect to its completion time Cj. In this paper, we consider the minimization of the following objective functions: The makespan Cmax = max{Cj : 1 6 j 6 n}; The total weighted compleP P tion time wj C j ; The weighted total number of tardy jobs wj U j , where Uj = 1 if job Jj is tardy, i.e., if Cj > dj, and Uj = 0 if job Jj P is on time, i.e., if Cj 6 dj. We study the following four scheduling problems: Two with criteria wj C j and Cmax, i.e., P P P 1jp-batch; b P nj wj C j : C max and 1jp-batch; b P nj wj C j C max ; Two with criteria wj U j and Cmax, i.e., 1jp-batch; P P b P nj wj U j : C max and 1jp-batch; b P nj wj U j C max .
1340
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
Since b P n, the jobs of the same processing time can be assigned to a common batch in an optimal schedule. Hence, if F is a subset of jobs with the same processing time p, we can merge the jobs in F into a new job with processing time p and P weight Jj 2F wj . Therefore, we assume that the processing times of the jobs are distinct. In the remainder of this paper, suppose the jobs are numbered according to the shortest processing time (SPT) rule so that p1 < p2 < < pn. We extend the ‘‘SPT-batch schedule’’ property developed by Brucker et al. [4] to our problems. Lemma 2.1. For unbounded single-machine parallel-batch scheduling to minimizing any two regular scheduling criteria, there exists an optimal schedule such that the jobs (batches) are processed in SPT order. The property shows that there exists an optimal schedule in which each batch contains jobs with consecutive indices. We refer to a schedule that satisfies the condition in Lemma 2.1 as a B-SPT-batch schedule. From Lemma 2.1, we may restrict our attention to B-SPT-batch schedules in subsequent section. 3. Minimizing +wj C j and Cmax P In this section, we show that problem 1jp-batch; b P nj wj C j : C max is NP-hard in the ordinary sense and possesses a fully polynomial-time approximation scheme. Then, we enumerate all Pareto-optimal solutions of problem P 1jp-batch; b P nj wj C j C max . 3.1. NP-hardness proof The NP-hardness proof of the problem is done by a reduction from the NP-complete Partition problem (Garey and Johnson [17]). P Partition problem: given t + 1 positive integers a1, a2, . . . , at, and A with ti¼1 ai ¼ 2A, is there a partition {S1, S2} of the index P P set {1, 2, . . . , t} such that i2S1 ai ¼ i2S2 ai ¼ A? Theorem 3.1. Problem 1jp-batch; b P nj
P
wj C j : C max is NP-hard.
Proof. The decision version of the problem is clearly in NP. For a given instance a1, a2, . . . , at, A of Partition problem, we conP struct an instance of the decision version of problem 1jp-batch; b P nj wj C j : C max as follows. We have two classes of jobs: {J1, J2, . . . , Jt} and fJ 01 ; J 02 ; . . . ; J 0t g. So, there are totally n = 2t jobs. The processing times of the jobs are defined by
p1 ¼ 4tA2 ; h i pj ¼ ð4tÞj ð4tÞj1 A2 ¼ ð4t 1Þð4tÞj1 A2 ; p0j
¼ pj þ aj ;
j ¼ 2; 3; . . . ; t;
j ¼ 1; 2; . . . ; t:
The weights of the jobs are defined by
wj ¼
4M j
ð4t 1Þð4tÞ A
;
w0j ¼
aj M ð4t 1Þð4tÞj A2
;
j ¼ 1; 2; . . . ; t;
where M = (4t 1) (4t)tA2. The upper bound Q of Cmax is defined by Q = (4t)tA2 + A. P P The threshold value is defined by d ¼ 4tþ2 AM þ AM þ A tj¼1 wj þ A tj¼1 w0j . 4t1 The decision asks whether there is a schedule p such that Cmax(p) 6 Q and t X
wj C j ðpÞ þ
j¼1
t X
w0j C 0j ðpÞ 6 d:
j¼1
It can be observed that the above construction can be done in polynomial time. Write wj ¼ From the above construction, for j = 1, 2, . . . , t, we have
wj pjþ1 ¼ 4AM;
wj wj ¼
4AM ; 4t 1
w0j pjþ1 ¼ aj M;
and w0j wj ¼
Pj
i¼1 pi
¼ ð4tÞj A2 ; j ¼ 1; 2; . . . ; t.
aj M : 4t 1
Since
A
t X j¼1
wj þ A
t X j¼1
w0j
6
t X
4M
j¼1
ð4t 1Þð4tÞj
þ
t X j¼1
1 t 5 1 ð4tÞ t 5M X 1 ¼ M < M; < ð4t 1Þ2 ð4t 1Þð4tÞj A 4t 1 j¼1 ð4tÞj aj M
ð1Þ
1341
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
we have
d<
4t þ 2 AM þ AM þ M: 4t 1
ð2Þ
Suppose first that the Partition instance has a solution. Then there is a partition {S1, S2} of {1, 2, . . . , t} such that P P aj ¼ j2S2 aj ¼ A. Without loss of generality, we suppose t 2 S1. We construct a feasible schedule p such that 1 Pj2S Pt t 0 0 j¼1 wj C j ðpÞ þ j¼1 wj C j ðpÞ 6 d by the following way. There are t batches B1, B2, . . . , Bt with Jj 2 Bj for j = 1, 2, . . . , t. If j 2 S1, we assign job J 0j into batch Bj, otherwise, we assign job J 0j into batch Bj+1. The schedule p is given by processing the batches in the order B1, B2, . . . , Bt. It can be observed that Cj(p) 6 wj + A for 1 6 j 6 t, C 0j ðpÞ 6 wj þ A for j 2 S1, and C 0j ðpÞ 6 wjþ1 þ A for j 2 S2. Then, Cmax(p) = Ct(p) 6 wt + A = (4t)tA2 + A = Q. Based on the equalities in (1), we have t X
wj C j ðpÞ þ
t X
j¼1
t X
w0j C 0j ðpÞ 6
w0j ðwj þ AÞ þ
X
j¼1
j2S1
j2S2
t X
X
wj ðwj þ AÞ þ
j¼1
¼
X
t X
j¼1
¼
wj ðwj þ AÞ þ
t X
w0j ðwj þ AÞ þ
j¼1
t X
w0j wj þ
j¼1
w0j pjþ1
j2S2
j¼1
wj wj þ
w0j ðwjþ1 þ AÞ
X
aj M þ A
t X j¼1
j2S2
Conversely, suppose that there is a schedule p with show that the Partition instance has a solution. h
wj þ A
Pt
j¼1 wj C j ð
t X
w0j ¼ d:
j¼1
pÞ þ
Pt
0 0 j¼1 wj C j ð
pÞ 6 d and Cmax(p) 6 Q. We are ready to
Claim 1. For every pair i and j with 1 6 i < j 6 t, we have Ci(p) < Cj(p) and C i ðpÞ < C 0j ðpÞ. Proof. Otherwise, there is a pair i and j such that 1 6 i < j 6 t and C i ðpÞ P minfC j ðpÞ; C 0j ðpÞg. Then Ci(p) P pj P pi+1. By (1) and (2), we have
wi C i ðpÞ P wi piþ1 ¼ 4AM >
4t þ 2 AM þ AM þ M > d 4t 1
a contradiction. This proves Claim 1. h Claim 1 means that there are at least t batches in schedule p, and the t jobs J1, J2, . . . , Jt must belong to t distinct batches. Note that the makespan of p is at most (4t)tA2 + A. If there is a batch B which only contains jobs of fJ 01 ; J 02 ; . . . ; J 0t g in p, then Cmax(p) P p1 + + pt + p(B) = wt + p(B) > (4t)tA2 + 4tA2 > Q, a contradiction. We thus conclude that there are exactly t batches in schedule p. Now assume that those batches are B1, B2, . . . , Bt such that Jj 2 Bj, j = 1, 2, . . . , t. Claim 1 also implies that the t batches are processed in the order B1, B2, . . . , Bt in p and job J 0t belongs to batch Bt in p. Set S1 ¼ fj : 1 6 j 6 t; J 0j 2 Bj g, and S2 = {1, 2, . . . , t}nS1. From Claim 1, we have Cj(p) P wj for 1 6 j 6 t, C 0j ðpÞ P wj for j 2 S1, and C 0j ðpÞ P wjþ1 for j 2 S2. Especially, since J 0t 2 Bt , we have C t ðpÞ ¼ C 0t ðpÞ P wt þ at > wt . As a consequence, we have t X
wj C j ðpÞ þ
t X
j¼1
w0j C 0j ðpÞ >
t X
j¼1
wj wj þ
t X
w0j wj þ
j2S1
j¼1
¼
X
wj wj þ
j¼1
t X
X
t X
w0j wjþ1 ¼
j2S2
w0j wj þ
X
w0j pjþ1 ¼
X
w0j wj þ
j2S1
j¼1
j2S2
j¼1
wj wj þ
X
w0j ðwj þ pjþ1 Þ
j2S2
X 4t þ 2 AM þ M aj : 4t 1 j2S
ð3Þ
2
The last equality in (3) follows from (1). For each j 2 S1, we have J 0j 2 Bj . It follows that pðBj Þ P p0j ¼ pj þ aj . Thus, we have
C max ðpÞ P
X X X X ðpj þ aj Þ þ pj ¼ wt þ aj ¼ ð4tÞt A2 þ aj : j2S1
j2S2
j2S1
j2S1
P
t 2
Note that Cmax(p) 6 (4t) A + A. Then j2S1 aj 6 A. In other words, P If j2S2 aj P A þ 1, from (3), we have t X j¼1
wj C j ðpÞ þ
t X
w0j C 0j ðpÞ >
j¼1
a contradiction. Then, we have follows. h
P
j2S2 aj
P A.
X 4t þ 2 4t þ 2 AM þ M AM þ ðA þ 1ÞM > d aj P 4t 1 4t 1 j2I 2
P
j2S2 aj
¼ A. Consequently, {S1, S2} is a solution of the Partition instance. Theorem 3.1
1342
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
For a given integer Q, the restriction Cmax 6 Q can be interpreted as a specified forbidden interval [Q, M) which are occupied by machine maintenance (see for example [18]), where M is a sufficient larger number. This means that, the bi-criteria scheduling can be polynomially reduced to the unbounded parallel-batch scheduling with forbidden intervals. The later P problem is denoted by 1jp-batch; FB; b P nj wj C j , where FB means forbidden interval. Yuan et al. [19] showed that probP P lem 1jp-batch; FB; b P nj fj can be solved in pseudo-polynomial time for every regular function fj , and pointed out that P the complexity of problem 1jp-batch; FB; b P nj wj C j is still open. As a consequence, we have Theorem 3.2. Problem 1jp-batch; FB; b P nj
P
wj C j is NP-hard in the ordinary sense.
3.2. A pseudo-polynomial-time algorithm P In this subsection, we devote to the problem 1jp-batch; b P nj wj C j C max of enumerating all Pareto-optimal solutions. A general approach for finding Pareto-optimal solutions of a scheduling problem is to solve the corresponding constrained scheduling problems (more details on this approach can be found in [13]). Then, we first derive a pseudo-polynomial-time P dynamic programming algorithm for problem 1jp-batch; b P nj wj C j : C max . For a given positive integer Q, we suppose that Q P pmax, where pmax = max{pj : 1 6 j 6 n}. Otherwise, the problem has no feasible schedule. Let f(j, l) be the optimal objective value of B-SPT-batch schedules for the first j jobs, and l measures the maximum completion time of the jobs subject to the condition l 6 Q. In addition, we will use {Jk+1, . . . , Jj} to denote the last batch in such schedule. Now, we give the following dynamic programming algorithm for problem 1jp-batch; b P P nj wj C j : C max . Algorithm DP1 The initialization is
f ð0; lÞ ¼
0;
if l ¼ 0;
1; otherwise:
The recursive function:
( f ðj; lÞ ¼ min f ðk; l pj Þ þ l 06k
j X
) wi :
i¼kþ1
The optimal value is given by min{f(n, l) : l 6 Q} P The corresponding optimal schedule p can be found by backtracking. Let P ¼ nj¼1 pj . For a given upper bound Q 6 P on Cmax, we have the following result for the constrained scheduling problem. Theorem 3.3. Problem 1jp-batch; b P nj
P
wj C j : C max can be solved in pseudo-polynomial O(n2Q) time.
Now, we have the following conclusion. Corollary 3.4. Problem 1jp-batch; b P nj
P
wj C j : C max is NP-hard in the ordinary sense.
P Now we turn to the problem 1jp-batch; b P nj wj C j C max of finding the set of Pareto-optimal solutions. Due the integrality of the data, there is no schedule with value Cmax between Cmax(p) 1 and Cmax(p), as inserting idle time makes no P sense. Therefore, the Pareto-optimal solutions of problem 1jp-batch; b P nj wj C j C max can be found from the above Algorithm DP1 by enumerating all possible values of Q. P Suppose r is an optimal schedule of problem 1jp-batch; b P nj wj C j which can be solved in O(nlog n) time [4]. Let L = Cmax(r). Clearly, L is upper bound on Cmax of our problem. Formally, we have the following conclusion. Theorem 3.5. The Pareto-optimal solutions of problem 1jp-batch; b P nj O(n2L2) time.
P
wj C j C max can be found in pseudo-polynomial
3.3. A fully polynomial-time approximation scheme In this subsection, we present the second dynamic programming algorithm for the considered problem. Following WoeP ginger [20], who introduced the notion of a DP-benevolent problem, we show that problem 1jp-batch; b P nj wj C j : C max is DP-benevolent, and hence there exists a fully polynomial-time approximation scheme for the problem. The dynamic program does through n phases. At every phase j (j = 1, . . . , n), a state set F j is generated. Any state in F j is a vector [v, l, k] which is corresponding to a feasible schedule for the first j jobs subject to the condition the last batch has
1343
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
processing time pk, where j 6 k 6 n. The coordinate v measures the total weighted completion time and the coordinate l measures the completion time of the last batch. The state sets F 1 ; F 2 ; . . . ; F n are constructed iteratively. The initial set F 0 contains only one state such as [0, 0, 0]. In the jth phase (j = 1, . . . , n), we compute the set F j from the set F j1 by the following two functions:
F 1 ðwj ; pj ; v ; l; kÞ ¼ ½v þ wj l; l; k; F 2 ðwj ; pj ; v ; l; j 1Þ ¼ ½v þ wj ðl þ pk Þ; l þ pk ; k: Intuitively speaking, the function F1 schedules job Jj so that it does not start the last batch, and the last batch to which Jj is added includes job Jj1 and has processing time pk. Functions F2 schedules job Jj so that it starts the last batch, if it is possible for the given state. Then, the previous batch ends with job Jj1 and the processing time of the new batch is pk, where j 6 k 6 n. For the feasible schedule which is associated to state [v, l, k], we define the criterion function G(v, l, k) = v. By summing the above discussion, we can devise the following dynamic programming Algorithm DP2. Algorithm DP2 Initialize F 0 :¼ f½0; 0; 0g For j = 1 to n do Let F k :¼ ; For every ½v ; l; k 2 F j1 do If j 1 < k then ½v þ wj l; l; k 2 F j If j 1 = k < n, and l + ph + pn 6 Q for h = k + 1, k + 2, . . . , n 1 then ½v þ wj ðl þ ph Þ; l þ ph ; h 2 F j , ½v þ wj ðl þ pn Þ; l þ pn ; n 2 F j . EndFor EndFor Output minfGðv ; l; nÞ : ½v ; l; n 2 F n g Note that the cardinality of every state space F k in the algorithm is bounded from above by O(npmaxWP), where P W ¼ nj¼1 wj . There holds the following result. Theorem 3.6. There exists a fully polynomial-time approximation scheme for 1jp-batch; b P nj
P
wj C j : C max .
Proof. The functions F1 and F2 are vectors of polynomials with non-negative coefficients. The polynomial function in F1 that yields the first coordinate is polynomial which depend on the coordinates v and l; and the polynomial functions in F2 are polynomials which depend on the first coordinates v, l and k. Furthermore, all polynomials linearly depend on v, l and k. The inequality inside operator ‘if’ can be checked in polynomial time, which depends on l and k, and has a non-negative coefficient. The criterion function G is a polynomial with non-negative coefficients. Furthermore, the length of the binary encoding of every value obtained by the Algorithm DP2 is polynomially bounded in the input size, and is at most O(log(pmaxW) log P) 6 O(n2(log max{wmax, pmax})2), where wmax = max{wj : 1 6 j 6 n}. Therefore, the Algorithm DP2 satisfies conditions of P Lemma 6.1 and Theorem 2.5 from the paper by Woeginger [20], then problem 1jp-batch; b P nj wj C j : C max is DP-benevP olent. Thus, problem 1jp-batch; b P nj wj C j : C max has a fully polynomial-time approximation scheme. h 4. Minimizing +wj U j and Cmax P In this section, we first give a pseudo-polynomial-time algorithm for the problem 1jp-batch; b P nj wj U j : C max , and show that the problem can be solved in polynomial time for unit weights. Then, we provide a fully polynomial-time approximation scheme for the problem. Moreover, we enumerate all Pareto-optimal solutions of problem 1jp-batch; b P P nj wj U j C max . 4.1. A pseudo-polynomial-time algorithm P By Brucker et al. [4], the problem 1jp-batch; b P nj wj U j : C max is NP-hard when the upper bound Q on Cmax is a suffiPn cient larger number (e.g., setting Q ¼ j¼1 pj ). We now show that the problem can be solved in pseudo-polynomial time. Let f(j, u) be the minimum makespan of B-SPT-batch schedule for the first j jobs subject to the condition that the weighted total number of tardy jobs is exactly u. In addition, we suppose the last batch in the schedule is {Jk+1, . . . , Jj}. The weighted number of tardy jobs in the last batch is denoted by u(k + 1, j, t), where t = f(j, u). Then, we have
f ðj; uÞ ¼ f ðk; u uðk þ 1; j; tÞÞ þ pj :
1344
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
For a given time moment t, all values u(k + 1, j, t), 1 6 k < j 6 n, can be calculated in O(n) time by the following recursive procedure: u(j, j, t) = uj(t) and u(k + 1, j, t) = uk+1(t) + u(k + 2, j, t) for 1 6 k + 1 < j, where uj(t) = wj if dj < t, and uj(t) = 0 if dj P t. P Now, we give the following dynamic programming algorithm for problem 1jp-batch; b P nj wj U j : C max . Algorithm DP3 The initialization is
f ð0; uÞ ¼
0;
if u ¼ 0;
1; otherwise:
The recursive function:
f ðj; uÞ ¼ min min ff ðk; u0 Þ þ pj g; 0 16k
where U ¼ fu uðk þ 1; j; tÞ : t ¼ f ðk; u uðk þ 1; j; tÞÞ þ pj g. The optimal value is given by min{u : f(n, u) 6 Q} The corresponding optimal schedule p can be found by backtracking. The above recursion function has at most O(nW) states. Note that we have at most W choices for the value of u0 . Hence, each iteration runs in O(nW) time. Thus, the Algorithm DP3 requires O(n2W2) time. For a given upper bound Q on Cmax, we have the following result for the constrained scheduling problem. Theorem 4.1. Problem 1jp-batch; b P nj
P
wj U j : C max can be solved in pseudo-polynomial O(n2W2) time.
P
wj U j : C max is NP-hard in the ordinary sense.
As a consequence, we have Corollary 4.2. Problem 1jp-batch; b P nj
When wj = 1 for each Jj, j = 1, . . . , n, the value of u and u0 have at most n choices, respectively. Consequently, we have Theorem 4.3. Problem 1jp-batch; b P nj
P
U j : C max can be solved in O(n4) time.
P Now we turn to the problem 1jp-batch; b P nj wj U j C max of finding the set of Pareto-optimal solutions. Similarly to P the discussion in Section 3.2, the Pareto-optimal solutions of problem 1jp-batch; b P nj wj U j C max can be found from the above Algorithm DP3 by enumerating all possible values of Q 6 P. Therefore, we have the following conclusion. Theorem 4.4. The Pareto-optimal solutions of problem 1jp-batch; b P nj O(n2W2P) time.
P
wj U j C max can be found in pseudo-polynomial
4.2. A fully polynomial-time approximation scheme P In this subsection, we present an approximation algorithm for the problem 1jp-batch; b P nj wj U j : C max . For a given ⁄ number Q, suppose that p (Q) is an optimal schedule of the problem with respect to Q, i.e., Cmax(p⁄) 6 Q. When there is P no ambiguity, we abbreviate p⁄(Q) to p⁄. Let V ¼ nj¼1 wj U j ðp Þ. By solving the unit weight problem P 1jp-batch; b P nj U j : C max , which can be solved in polynomial time, we can determine whether V⁄ = 0 (i.e., all jobs are on time) or not. Hence, we suppose that V⁄ > 0. Consider an arbitrary instance I of the problem. Let > 0 be a given constant. For each wr, 1 6 r 6 n, we define a new instance I(wr) by rounding wj in I such that
( wj ðwr Þ ¼
1; wr n
l
m
nwj wr
if wj > wr ; ; otherwise:
ð4Þ
P Let p(wr) be an optimal schedule for I(wr) and Vðwr Þ ¼ nj¼1 wj ðwr ÞU j ðpðwr ÞÞ. Now, we propose a fully polynomial-time P approximation scheme A for problem 1jp-batch; b P nj wj U j : C max . Algorithm A Step 1. For each wr, 1 6 r 6 n, we define a new instance I(wr) from I by using (4). Step 2. Apply Algorithm DP3 to the instance I(wr) to obtain an optimal schedule p(wr). P Step 3. Select the schedule p(w) such that VðwÞ ¼ minf nj¼1 wj ðwr ÞU j ðpðwr ÞÞ : 1 6 r 6 ng. Replace the modified weighted wj(w) by the original weighted wj in p(w) to obtain a schedule p for instance I.
1345
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
Since each job in instance I(w) (w 2 {wr : 1 6 r 6 n}) has the same processing time as in I, we have that p is a feasible scheP dule for I. Let V ¼ nj¼1 wj U j ðpÞ. We have the following theorem. Theorem 4.5. V 6 (1 + e)V⁄ and the running time of Algorithm A is Oðn5 1Þ. Proof. Let p⁄ be an optimal schedule for I. Set w⁄ = max{wj : Cj(p⁄) > dj, 1 6 j 6 n}. Then, we have that w⁄ 6 V⁄. Clearly, p⁄ is also a feasible schedule for instance I(w⁄). Note that the jobs {Jj : wj > w⁄, 1 6 j 6 n} are on time in p⁄ and wj ðw Þ 6 wj þ wn for ⁄ Jj with wj 6 w (1 6 j 6 n), we have
Vðw Þ 6
n X
wj ðw ÞU j ðp Þ 6
j¼1
n X
wj U j ðp Þ þ w ¼ V þ w 6 ð1 þ ÞV :
j¼1
From step 3 in Algorithm A, we have
VðwÞ 6 Vðw Þ 6 ð1 þ ÞV : By the construction of instance I(w), we have that wj 6 wj(w) for 1 6 j 6 n. It follows that V 6 V(w) 6 (1 + )V⁄. Consider Algorithm DP3 used for the instances I(wr), 1 6 r 6 n. For each job Jj, the weight wj(wr) < 1 is of the form l m nwj wr wr n n2 n wr 2 k n : 1 6 k 6 . It follows that, in the dynamic programming algorithm, the state variable u has at most 2
choice and jUj 6 n . Thus, by Theorem 4.1, we can obtain a schedule p(wr) in Oðn4 1Þ time for each instance I(wr). Hence, the overall time complexity of Algorithm A is Oðn5 1Þ. h 5. Examples In this section, we demonstrate the proposed algorithms by the following two examples. First, we consider the optimal P Algorithm DP2 for problem 1jp-batch; b P nj wj U j : C max . Example 5.1. Consider job set J = {1, 2, 3, 4} with the following parameters: Job
1
2
3
4
pj wj
2 3
3 1
6 3
8 8
Let the upper bound on Cmax be Q = 11. There are five state sets F 0 ; F 1 ; F 2 ; F 3 ; F 4 which are constructed iteratively. The initial set F 0 contains only one state [0, 0, 0]. The state sets are calculated as follows:
F 1 ¼ ð½6; 2; 1; ½9; 3; 2; ½18; 6; 3; ½24; 8; 4Þ; ½6;2;1
zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl}|fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{ F 2 ¼ ð½11; 5; 2; ½14; 8; 3; ½16; 10; 4; ½12; 3; 2; ½24; 6; 3; ½32; 8; 4Þ; ½11;5;2
½12;3;2
zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl}|fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{ zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl}|fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{ F 3 ¼ ð½44; 11; 3; ½50; 3; 4; ½38; 8; 3; ½46; 10; 4; ½39; 9; 3; ½45; 11; 4; ½42; 6; 3; ½56; 8; 4Þ; F 4 ¼ ð½196; 9; 4; ½166; 6; 4; ½126; 10; 4; ½175; 7; 4; ½133; 11; 4; ½154; 4; 4; ½120; 8; 4Þ; where the states under the brace come from the state over the brace (e.g., the state [6, 2, 1] generates three states [11, 5, 2], [14, 8, 3] and [16, 10, 4], and the states with Cmax > 11 (e.g., [50, 3, 4]) are deleted from the corresponding state set. Then, the optimal value is minfv : ½v ; l; n 2 F 4 g ¼ 120, and the optimal schedule, in which all jobs are processed in the same batch, can be found by backtracking, such as, [120, 8, 4] [56, 8, 4] [32, 8, 4] [24, 8, 4]. P Now, we consider the approximation Algorithm A for problem 1jp-batch; b P nj wj U j : C max . Example 5.2. Consider job set J = {1, 2, 3, 4} with the following parameters: Job
1
2
3
4
pj wj dj
1 2 1
2 7 4
4 5 6
5 4 8
1346
B. Fan et al. / Applied Mathematical Modelling 36 (2012) 1338–1346
Let Q = 9 and = 0.2. For each wr, r = 1, . . . , 4, the weights {wj(wr) : j = 1, . . . , 4} of the instance I(wr) are calculated by using (4) as follows:
Iðw1 Þ : w1 ðw1 Þ ¼ 2; Iðw2 Þ : w1 ðw2 Þ ¼ 2:1;
w2 ðw1 Þ ¼ 1; w2 ðw2 Þ ¼ 7;
w3 ðw1 Þ ¼ 1;
w4 ðw1 Þ ¼ 1;
w3 ðw2 Þ ¼ 5:25;
Iðw3 Þ : w1 ðw3 Þ ¼ 2;
w2 ðw3 Þ ¼ 1;
w3 ðw3 Þ ¼ 5;
Iðw4 Þ : w1 ðw4 Þ ¼ 2;
w2 ðw4 Þ ¼ 1;
w3 ðw4 Þ ¼ 1;
w4 ðw2 Þ ¼ 4:2;
w4 ðw3 Þ ¼ 4; w4 ðw4 Þ ¼ 4:
Obtain an optimal schedule for the instance I(wr) (1 6 r 6 4) by applying Algorithm DP3, respectively.
pðw1 Þ : any sequence with C max ðw1 Þ 6 9; pðw2 Þ ¼ ðfJ1 g; fJ2 g; fJ3 ; J4 gÞ; pðw3 Þ ¼ ðfJ1 g; fJ2 g; fJ3 ; J4 gÞ; pðw4 Þ ¼ ðfJ1 ; J2 ; J3 g; fJ4 gÞ: Select schedule p(w3) = ({J1}, {J2}, {J3, J4}) with the minimum V(w3) in the four schedules above, and replace the modified weighted by the original one to obtain a schedule for the original instance, namely, p = ({J1}, {J2}, {J3, J4}). It is easy to verify that the schedule p is an optimal schedule. 6. Concluding remarks In this paper, we have studied bi-criteria scheduling on a single parallel-batch machine to minimizing two regular schedP uling criteria. As main contribution of this article, we prove that problem 1j p batch;b P nj wj C j : C max is NP-hard in the ordinary sense and possesses a fully polynomial-time approximation scheme, which can be polynomially reduced to the P P open problem 1jp-batch; FB; b P nj wj C j stated by Yuan et al. [19], i.e., the problem 1jp-batch; FB; b P nj wj C j is also P NP-hard; For problem 1jp-batch; b P nj wj U j : C max , we provide a pseudo-polynomial-time algorithm and a fully polynoP n mial-time approximation scheme; Furthermore, we identify that all Pareto-optimal solutions for wj C j ; C max and j¼1 Pn time, respectively. For the further research, it is interesting to resolve j¼1 wj U j ; C max can be found in pseudo-polynomial P the complexity of the problem 1jp-batch; b P nj C j : C max . Acknowledgements We are grateful to the editor and the anonymous referees for their helpful comments on an earlier version of this paper. This research was supported by the National Science Foundation of China under Grant No. 11001117. The second author was supported by the National Science Foundation of China under Grant No. 10971201. References [1] C.-Y. Lee, R. Uzsoy, L.A. Martin-Vega, Efficient algorithms for scheduling semi-conductor burn-in operations, Oper. Res. 40 (1992) 764–775. [2] C.N. Potts, M.Y. Kovalyov, Scheduling with batching: a review, Eur. J. Oper. Res. 120 (2000) 228C249. [3] M. Mathirajan, A.I. Sivakumar, A literature review, classification and simple meta-analysis on scheduling of batch processors in semiconductor, Int. J. Adv. Manufact. Technol. 29 (2006) 990–1001. [4] P. Brucker, A. Gladky, H. Hoogeveen, M.Y. Kovalyov, C.N. Potts, T. Tautenhahn, S.L. van de Velde, Scheduling a batching machine, J. Scheduling 1 (1998) 31–54. [5] X. Deng, Y. Zhang, Minimizing mean response time in batch processing system, Lect. Notes Comput. Sci. 1627 (1999) 231–240. [6] Z.H. Liu, T.C.E. Cheng, Approximation schemes for minimizing total (weighted) completion time with release dates on a batch machine, Theor. Comput. Sci. 347 (2005) 288–289. [7] T.C.E. Cheng, Z.H. Liu, W.C. Yu, Scheduling jobs with release dates and dead-lines on a batch processing machine, IIE Trans. 33 (2001) 685–690. [8] Z.H. Liu, J.J. Yuan, T.C.E. Cheng, On scheduling an unbounded batch machine, Oper. Res. Lett. 31 (2003) 42–48. [9] P. Brucker, Scheduling Algorithms, fifth ed., Springer-Verlag, Berlin Heidelberg, 2006. [10] P. Brucker, S. Knust, Complexity results for scheduling problems,
, 2010. [11] T.C.E. Cheng, C.T. Ng, J.J. Yuan, Z.H. Liu, Scheduling a batch processing machine subject to precedence constraints, Naval Res. Logist. 51 (2004) 949–958. [12] C.L. Chen, R.L. Bulfin, Complexity of single machine, multi-criteria scheduling problems, Eur. J. Oper. Res. 70 (1993) 115–125. [13] H. Hoogeveen, Multicriteria scheduling, Eur. J. Oper. Res. 167 (2005) 592–613. [14] A. Nagar, J. Haddock, S. Heragu, Multiple and bicriteria scheduling: a literature survey, Eur. J. Oper. Res. 81 (1995) 88–104. [15] L.L. Liu, C.T. NG, T.C.E. Cheng, On the complexity of bi-criteria scheduling on a single batch processing machine, J. Scheduling 13 (2010) 629–638. [16] C. He, Y.X. Lin, J.J. Yuan, Bicriteria scheduling on a batching machine to minimize maximum lateness and makespan, Theor. Comput. Sci. 381 (2007) 234–240. [17] M.R. Garey, D.S. Johnson, Computers and Intactability: A Guide to the Theory of NP-Completeness, New York, USA, Freeman, 1979. [18] C.-Y. Lee, Machine scheduling with an unavailability constraint, J. Global Opt. 9 (1996) 395–416. [19] J.J. Yuan, X. L Qi, L.F. Lu, W.H. Li, Single machine unbounded parallel-batch scheduling with forbidden intervals, Eur. J. Oper. Res. 186 (2008) 1212– 1217. [20] G.J. Woeginger, When does a dynamic programming formulation guarantee the existence of a fully polynomial time approximation scheme (FPTAS)?, INFORMS J Comput. 12 (2000) 57–75.