Primary–secondary bicriteria scheduling on identical machines to minimize the total completion time of all jobs and the maximum T-time of all machines

Primary–secondary bicriteria scheduling on identical machines to minimize the total completion time of all jobs and the maximum T-time of all machines

Theoretical Computer Science 518 (2014) 117–123 Contents lists available at SciVerse ScienceDirect Theoretical Computer Science www.elsevier.com/loc...

234KB Sizes 3 Downloads 62 Views

Theoretical Computer Science 518 (2014) 117–123

Contents lists available at SciVerse ScienceDirect

Theoretical Computer Science www.elsevier.com/locate/tcs

Note

Primary–secondary bicriteria scheduling on identical machines to minimize the total completion time of all jobs and the maximum T-time of all machines ✩ Long Wan a , Ran Ma a,b , Jinjiang Yuan a,∗ a b

School of Mathematics and Statistics, Zhengzhou University, Zhengzhou 450001, China School of Mathematics and Information Science, Henan Polytechnic University, Jiaozuo 454000, China

a r t i c l e

i n f o

Article history: Received 31 March 2013 Received in revised form 25 May 2013 Accepted 30 May 2013 Communicated by D.-Z. Du Keywords: Bicriteria scheduling Identical machines Total completion time Worst-case ratio

a b s t r a c t In this paper, we study a new primary–secondary bicriteria scheduling problem on identical machines. The primary objective is to minimize the total completion time of all jobs and the secondary objective is to minimize the maximum T-time of all machines, where the T-time of a machine is defined as the total completion time of the jobs scheduled on the machine. The problem is to find a non-preemptive schedule of minimizing the secondary objective subject to the constraint that the primary objective is minimized. It is implied in the literature that the problem is ordinarily NP-hard if the number of machines is fixed, and strongly NP-hard if the number of machines is a part of input. When the number of machines is fixed, we present a pseudo-polynomial-time algorithm and a fully polynomial-time approximation scheme. Then we analyze the classic algorithm SPT which schedules jobs to machines greedily in the order of non-decreasing processing times. We show that the worst-case ratio of SPT is of at most 11/6 and at least 5/3. Furthermore, we present another algorithm, called RSPT, with the worst-case ratio of at most 3/2 and at least 11/9. © 2013 Elsevier B.V. All rights reserved.

1. Introduction In multicriteria scheduling problems, there are several objectives and a schedule is evaluated on several performance measures. Hoogeveen [8] gave an excellent overview of the literature on multicriteria scheduling problems. Especially, in the primary–secondary bicriteria scheduling, we have two objectives f 1 and f 2 to be minimized. f 1 is called the primary objective and f 2 is called the secondary objective. The goal of the problem is to find a schedule of minimizing the secondary objective subject to the constraint that the primary objective is minimized. Heck and Roberts [9] first addressed a primary–secondary bicriteria single-machine scheduling problem in which the primary objective is the maximum cost f max of the jobs and the secondary objective is the total completion time of the jobs. For the bicriteria scheduling problem presented in [9], Emmons [4] showed that it can be solved in a polynomial time. Furthermore, Hoogeveen and van de Velde [6] showed that all Pareto optimal points about the two objectives can be found in polynomial time. Leung and Young [10] studied the preemptive scheduling problem of minimizing the makespan subject to the condition that the total completion time of all jobs is minimal and provided a polynomial-time algorithm. More researches on bicriteria scheduling can be found in Chen and Bulfin [3], Hoogeveen [7], and Sourd [11], among many others.



*

Research supported by NSFC (11271338), NSFC (11171313) and NSF Henan (132300410392). Corresponding author. E-mail address: [email protected] (J. Yuan).

0304-3975/$ – see front matter © 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.tcs.2013.05.034

118

L. Wan et al. / Theoretical Computer Science 518 (2014) 117–123

In this paper, we study a new primary–secondary bicriteria scheduling problem on identical machines with the primary objective being the total completion time of all jobs and the second objective being the maximum T-time of all machines, where the T-time of a machine is defined as the sum of the completion times of the jobs scheduled on the machine. In our problem, there are n jobs J 1 , J 2 , . . . , J n and m identical machines M 1 , M 2 , . . . , M m . The processing time of J j is given by p j  0, j = 1, 2, . . . , n. A feasible schedule is a schedule which non-preemptively processes the jobs on the machines. Without loss of generality, we assume that p 1  p 2  · · ·  pn . Given a schedule σ A , C Aj is used to denote the completion time of J j in σ A , j = 1, . . . , n. The total completion time of M i (shortly, the T-time of M i ) is defined to be the total completion time of the jobs scheduled on M i . In the schedule σ A , the following notations are used in this paper:

• TC iA is the T-time of machine M i , i = 1, . . . , m. • TC A = maxi =1,...,m TC iA is the maximum T-time of the machines.  A • TA = m i =1 TC i is the total completion time of all jobs. By means of the three-field notation, the probNote that T A is the primary objective and TC A is the secondary objective.  lem with respect to the primaryobjective can be denoted as P  C j and the problem with respect to the secondary  objective  can be denoted as P ( C j )max . When m is a constant, the above two problems are denoted by Pm C j and Pm( C j )max , respectively. It is well known that  the non-preemptive schedule derived by the algorithm Shortest Processing Time first (SPT for short) [2] is optimal for P  C j , where algorithm SPT first sorts all jobs in the order of non-decreasing processing times, then assigns the first unprocessed job in the sequence to the machine which can complete  it as early∗ as possible. Hence, there exists at least an optimal schedule which can be derived in polynomial time for P  C j . Let T be  the optimal objective  value of problem P  C j . Then the problem in the paper can be denoted by P | C j  T ∗ |( C j )max . When m is  studied  ∗ a constant, the problem is denoted by Pm| C j  T |( C j )max . Angel et al. [1] showed that problem Pm( C j )max is NP-hard in the ordinary sense. Then they showed that the worst  3 for P ( C j )max . case ratio of algorithm SPT for problem Pm( C j )max is of at most 3 − 3/m + 1/m2 and so at most Improved results of the same problem are presented in Wan et al. [12]. They proved that problem P ( C j )max is NP-hard in the strong sense and showed that the worst-case ratio of algorithm SPT for the problem is of at most 2.608. The rest of this paper is organized as follows. In Section 2, we provide some preliminary knowledge,complexity results, a dynamic programming algorithm and a fully polynomial-time approximation scheme for problem Pm| C j  T ∗ |(  C j )max . for problem P | C j  In Section 3, we show that the worst-case ratio of algorithm SPT is of at most 11/6 andat least 5/3   T ∗ |( C j )max . In Section 4, a better algorithm, called RSPT, is provided for problem P | C j  T ∗ |( C j )max . We show that the worst-case ratio of algorithm RSPT is of at most 3/2 and at least 11/9. Throughout this paper, we use J to denote the set of all jobs and M the set of all machines. 2. Preliminaries, complexity, dynamic programming and FPTAS Recall that we have n jobs in J and m machines in M. By adding dummy jobs (if necessary) of processing times 0, we may assume that n = km for some positive integer k. The dummy jobs can be scheduled first on the machines and therefore don’t change the values of the two objectives in any schedule. Note that p 1  p 2  · · ·  pn . We partition J into k groups of which each consists of m jobs. Let J j = { J ( j −1)m+1 , J ( j −1)m+2 , . . . , J ( j −1)m+m } be the j-th group, j = 1, 2, . . . , k. In a given schedule, if we interchange the positions of two jobs of the same processing times, the resulted new schedule is essentially the same as the original one. Hence, in our discussion, we don’t distinguish the schedules up to the permutations among the jobs of the same processing times.  Let R be the set of optimal schedules for problem P  C j . A schedule σ S is called Quasi-SPT (Q-SPT for short) if σ S satisfies the following three conditions.

• Each machine has only one job from J j , j = 1, 2, . . . , k. • Jobs are scheduled in the non-decreasing order of processing time on each machine. • There is no idle time on each machine. The following lemma characterizes the optimal schedules of problem P 



C j.

Lemma 2.1. (See [2].) A schedule σ S is Q-SPT if and only if σ S ∈ R.



A formal proof of Lemma 2.1 can be found in Brucker [2]. Angel et al. [1] proved that problem Pm( C j )max is NP-hard by a reduction from problem Partition [5]. Wan et al. [12] proved that problem P ( C j )max is strongly NP-hard by a reduction from problem Numerical 3-Dimensional Matching  [5]. In their proofs, the feasible schedules in consideration can be picked from the schedules of problem Pm C j without the validity of the proofs. So we have the  optimal   affecting  conclusions: Pm| C j  T ∗ |( C j )max is ordinarily NP-hard, and P | C j  T ∗ |( C j )max is strongly NP-hard.

L. Wan et al. / Theoretical Computer Science 518 (2014) 117–123



119



In the following, we provide a dynamic programming for Pm| C j  T ∗ |( C j )max . The dynamic programming has k + 1 state spaces F j , j = 0, 1, . . . , k. Let F 0 = [0, 0, . . . , 0; 0, 0, . . . , 0] be the initial state space. F j is the set of state

j

vectors [c 1 , c 2 , . . . , cm ; t 1 , t 2 , . . . , tm ] of a schedule for J , j = 1, 2, . . . , k, where c i and t i are the sum of the l=1 n−l+1 processing times of the jobs scheduled on M i and the total completion time of the jobs scheduled on M i , respectively, i = 1, 2, . . . , m. The state space F j can be recursively generated from F j −1 , j = 1, 2, . . . , k. Starting from one state vector in F j −1 , by Lemma 2.1, there are m! assignments of the jobs of J j to the machines. So at most m! distinct state vectors of F j are generated. Let [c 1 , c 2 , . . . , cm ; t 1 , t 2 , . . . , tm ] be a state vector of F j −1 and π be a permutation of {1, 2, . . . , m} which represents an assignment of the jobs in J j to the machines. Then the generated state vector [c  1 , c  2 , . . . , c  m ; t  1 , t  2 , . . . , t  m ] in F j is formulated as: c  i = c i + p ( j −1)m+π (i ) , t  i = t i + c i + p ( j −1)m+π (i ) , i = 1, 2, . . . , m. The optimal objective value is given by min{max{t 1 , . . . , tm }|[c 1 , . . . , cm ; t 1 , . . . , tm ] ∈ F n }. n n Note that, for any [c 1 , . . . , cm ; t 1 , . . . , tm ] ∈ F j , 1  j  k, we have c i  j =1 p j and t i  n j =1 p j for any i = 1, 2, . . . , m.

n

n

Then | F j |  ( j =1 p j )m · (n j =1 p j )m for each j = 0, 1, . . . , k. For each state vector of F j −1 , j = 1, 2, . . . , k, it takes O (m! · m) time to calculate the generated m! state vectors (some of them are counted repeatedly) of F j . Hence, the overall complexity n of the dynamic programming is O ((m! · nm+1 )( j =1 p j )2m ), which is pseudo-polynomial when m is a constant. According to the rounding technique, we can easily design a fully  polynomial-time approximation scheme (FPTAS for short) from the dynamic programming for problem Pm| C j  T ∗ |( C j )max . n P Let I be an instance on job set J and machine set M. Let P = j =1 p j and γ = n2 m , where 0 <  < 1. Round each  processing time down to the nearest multiple of γ . Denote by I the new instance after rounding. The jobs in I  and I are  ) P since the same, but their processing times are different. The total processing time of the jobs in I  is at most (1 + nm  the processing time of each job increases at most γ . Note that the processing time of each job in I is a multiple of γ . (nm+ )n 2m ) ), Applying the above dynamic programming for I  , the optimal schedule of I  can be obtained in O ((m! · nm+1 )(  

which is polynomial since m and  are constants. Let σ O and σ O be the optimal schedules for I and I  , respectively. Then   TC O  TC O . Denote by σ S the schedule of I in which the positions of the jobs are the same as that in the schedule σ O . Note that the processing time of each job increases at most γ and there are at most n jobs on each machine. Therefore the  completion time of each job in σ S is at most nγ larger than the completion time in σ O and the total completion time  S 2 O of each machine in σ is at most n γ larger than the total completion time in σ . So TC S  TC O + n2 γ  TC O + mP  TC O +  TC O = (1 +  )TC O , where the second inequality follows from the fact that TC O  result. Theorem 2.2. There exists an FPTAS for problem Pm|





C j  T ∗ |(

P . m

This leads to the following

C j )max .

3. Algorithm SPT In the algorithm SPT, the jobs are scheduled on the machines greedily in the order of non-decreasing processing times. We use J (i ) to denote the current set of the jobs assigned to M i and TMi to denote the sum of the processing times of the jobs scheduled on machine M i in the current situation. Algorithm SPT: 1. Initialize TMi := 0, J (i ) := ∅, i = 1, . . . , m. Set j := 1. 2. Let i 0 be the index such that TMi 0 = min1i m {TMi }. Reset J (i 0 ) := J (i 0 ) ∪ { J j } and TMi 0 := TMi 0 + p j . 3. If j < n, then reset j := j + 1 and return to Step 2. Otherwise, schedule the jobs in J (i ) on M i in the non-decreasing order of their processing times without idle time, i = 1, . . . , m, and stop. Theorem 3.1. The worst-case ratio of SPT for problem P |





C j  T ∗ |(

C j )max is of at most

11 6

and at least

5 . 3



Proof. Obviously, the schedule generated by algorithm SPT is a Q-SPT schedule and so optimal for P  C j . Without S of generality, we may assume k  5 by adding some appropriate dummy jobs of processingtime 0. Denote by σ schedule generated by SPT and by σ O ∈ R an optimal schedule for problem P | C j  T ∗ |( C j )max . By algorithm we may assume that J 1 , J m+1 , . . . , J (k−1)m+1 are scheduled on M m . For convenience, let E = { J 1 , J m+1 , . . . , J (k−1)m+1 } x j = p ( j −1)m+1 , j = 1, 2, . . . , k. Then x1  x2  · · ·  xk and S TC S = TCm =

k  j =1

jp ( j −1)m+1 =

k 

jx j .

loss the SPT, and

(1)

j =1

To proceed the analysis, we first present some lower bounds for TC O . Given j ∈ {1, 2, . . . , k}, let M j  be the machine occupied by job J ( j −1)m+1 in the optimal schedule σ O . Let F be the set of the k jobs scheduled on M j  and let y 1  y 2  · · ·  yk

120

L. Wan et al. / Theoretical Computer Science 518 (2014) 117–123

Fig. 1. The SPT schedule and the optimal schedule.

be their processing times, respectively. By Lemma 2.1, we know that y j = x j , y i  x j for 1  i  j, and y i  xi +1 for k j + 1  i  k − 1. Note that TC O  TC Oj and TC Oj = i =1 iy i . Then, for each j ∈ {1, 2, . . . , k},

TC O 

j 

k 

ix j +

i =1

( i − 1) x i =

j ( j + 1) 2

i = j +2

xj +

k 

( i − 1) x i .

(2)

i = j +2

Especially, when j = 1, 2, 3, from (2), we have

TC O  x1 +

k  ( i − 1) x i ,

(3)

i =3

  k k   TC  3x2 + (i − 1)xi  3 x2 + xi , O

i =4

(4)

i =4

and

TC O  6x3 +

k  (i − 1)xi  6x3 .

(5)

i =5

From (1), (3), (4) and (5), we can deduce that S

TC =

k 



   k k   jx j = x1 + (i − 1)xi + 2x2 + xi + x3

j =1

 TC O +

2 3



i =3

· 3 x2 +

k  i =4

2

1

3

6

i =4

 xi

+

1 6

· 6x3

 TC O + TC O + TC O =

11 6

O

TC .

The following example is illustrated to show that 53 is a lower bound of the worst-case ratio of SPT. There are three jobs of processing times 3, 1 and 1, respectively, to be processed on two identical machines M 1 and M 2 . The schedule derived by algorithm SPT and the optimal schedule are illustrated in Fig. 1. We have TC S = 5 and TC O = 3. Then follows. 2

TC S TC O

= 53 . The result

Since SPT always schedules the longest job in each group on a common machine, the schedule generated by algorithm SPT is in fact the worst schedule in R for minimizing the maximum T-time of all machines. Theorem 3.1 just reflects that  the worst-case ratio of every schedule in R for problem P ( C j )max is of at most 11 . 6 4. Algorithm RSPT





The feasible schedules of problem P | C j  T ∗ |( C j )max are exactly the Q-SPT schedules. The deficiency of algorithm SPT is to schedule the largest jobs in J1 , J2 , . . . , Jk on the same machine. To avoid this deficiency, we present in the following a new approximation algorithm called Reversed SPT (RSPT for short). In the algorithm, we use J i to denote the current set of the jobs assigned to M i and TC i the T-time of machine M i in the current situation.

L. Wan et al. / Theoretical Computer Science 518 (2014) 117–123

121

Algorithm RSPT: 1. Initialize TC i := 0, J i := ∅, i = 1, . . . , m. Set j := 1. 2. Let π be a permutation of (1, 2, . . . , m) such that TC π (1)  · · ·  TC π (m) . Reset J π (i ) := J π (i ) ∪ { J ( j −1)m+i } and TC π (i ) := TC π (i ) + jp ( j −1)m+i , i = 1, . . . , m. 3. If j < k, then reset j := j + 1 and return to Step 2. Otherwise, schedule the jobs in J i on M i in the non-decreasing order of their processing times without idle time, i = 1, . . . , m, and stop. The intuition behind algorithm RSPT can be stated as follows. In the j-th iteration of the algorithm, when the jobs in

J1 , J2 , . . . , J j−1 have been assigned to the m machines, we are ready to assign the m jobs in group J j = { J ( j−1)m+i : 1  i  m} to the m machines separately. The current T-time of each machine is given by the total completion time of the jobs having been assigned to the machine in the SPT schedule. Then the machines are sequenced according to the non-decreasing order of their T-times, say TC π (1)  · · ·  TC π (m) . Then the m jobs in J j are assigned to the m sorted machines in the non-increasing order of their processing times. Equivalently, for each i with 1  i  m, the job J ( j −1)m+i in group J j is assigned to machine M π (i ) . Theorem 4.1. The worst-case ratio of RSPT for problem P |





C j  T ∗ |(

C j )max is of at most

3 2

and at least

11 . 9

Proof. Obviously, the schedule returned by algorithm RSPT is a Q-SPT schedule. So it is indeed a feasible schedule for   problem P | C j  T ∗ |( C j )max . Denote by σ R the schedule returned by algorithm RSPT. Let M j , M j  be two machines such that TC Rj = maxi =1,...,m TC iR and TC Rj = mini =1,...,m TC iR . Let J j denote the set of the k jobs assigned to M j and let x1  x2  · · ·  xk be the processing times of these jobs. Then we have

TC R = TC Rj =

k 

jx j .

(6)

j =1

Let J

j

TC Rj =

m

denote the set of the k jobs assigned to M j  and let y 1  y 2  · · ·  yk be the processing times of these jobs. Then

k

j =1

R j =1 TC j .

σ O ∈ R be an optimal schedule for problem P |

j y j . Let





C j  T ∗ |(

C j )max . Note that

m

O j =1 TC j

= T∗ =

Hence, we have

 1 ∗ jy j. T  min TC iR = TC Rj = i =1,...,m m k

TC O = max TC iO  i =1,...,m

(7)

j =1

Let K denote the set of the jobs in J1 with processing times at least x1 , i.e., K = { J j ∈ J1 : p j  x1 }. Let K denote the set of the jobs in J2 with processing times at least x2 , i.e., K = { J j ∈ J2 : p j  x2 }. By algorithm RSPT, we have |K| + |K |  m + 1. Since σ O is a Q-SPT schedule, there exists a machine M j 0 occupied by a job in K and a job in K in σ O . Let z1  z2  · · ·  zk be the k processing times of the k jobs on machine M j 0 in σ O . Then z1  x1 , z2  x2 and z j  x j +1 , j = 3, 4, . . . , k − 1. From (7), we have

TC O  TC Oj0 =

k 

jz j  x1 + 2x2 +

j =1

k  ( j − 1) x j .

(8)

j =4

For each l with 1  l  k, there are at least (l − 1)m + 1 jobs of processing time at least xl . By the pigeonhole principle, at least l jobs of processing time at least xl are scheduled on a common machine in σ O . Hence,

TC O 

l 

jxl =

j =1

l(l + 1) 2

xl ,

l = 1, 2, . . . , k .

(9)

Especially, when l  3, from (9), we have

TC O 

t

l(l + 1) 2

xl  2lxl .

(10)

t

Let L t = i =1 ixi and V t = i =1 iy i , t = 1, 2, . . . , k. Suppose first that xi  y i for each i = 2, 3, . . . , k. Note that y 1  y 2  x2 . Then we have

TC O 

k  j =1

j y j  3x2 +

k  j =3

jx j  6x3 + 2

k  j =4

x j.

(11)

122

L. Wan et al. / Theoretical Computer Science 518 (2014) 117–123

Fig. 2. The RSPT schedule and the optimal schedule.

By (6), (8) and (11), we have



   k k   1 3 TC = x1 + 2x2 + ( j − 1)x j + 3x3 + x j  TC O + TC O = TC O . R

j =4

2

j =4

(12)

2

In the following, we assume that xi > y i for some i ∈ {2, 3, . . . , k}. Let t 0 ∈ {1, 2, . . . , k − 1} be maximum such that xt0 +1 > yt0 +1 . Then x j  y j for each j = t 0 + 2, t 0 + 3, . . . , k. By algorithm RSPT, we have L t0  V t0 . When t 0 = 1, we have L 1 = x1  V 1 = y 1 and x j  y j , j = 3, 4, . . . , k. Therefore,

TC O 

k 

j y j > x1 + 2 y 2 +

j =1

k 

jx j  x3 + 2 y 3 +

k 

j =3

jx j  6x3 + 2

j =3

k 

x j.

(13)

j =4

By (6), (8) and (13), we also have



   k k   1 3 TC = x1 + 2x2 + ( j − 1)x j + 3x3 + x j  TC O + TC O = TC O . R

j =4

When t 0  2, by noting that L t0 =

TC O 

k 

jy j >

j =1

t0 

t0

j =1

k 

jx j +

j =1

2

j =4

jx j  V t0 =

t0

j =1

(14)

2

j y j and x j  y j , j = t 0 + 2, t 0 + 3, . . . , k, we have

jx j .

(15)

j =t 0 +2

From (6), (10) and (15), together with the fact t 0 + 1  3, we have



R

TC =

t0  j =1

jx j +

k 



jx j

1

3

2

2

+ (t 0 + 1)xt0 +1  TC O + TC O = TC O .

j =t 0 +2

(16)

From (12), (14) and (16), we conclude that algorithm RSPT has a worst-case ratio of at most

3 . 2

We present in the following an example to show that algorithm RSPT has a worst-case ratio of at least 11 . There 9 are six jobs with processing times 13, 7, 7, 4, 4 and  with 0 <  < 1, respectively, to be processed on two identical machines M 1 and M 2 . The schedule derived by algorithm RSPT and the optimal schedule are illustrated in Fig. 2. We have TC R = 4 · 3 + 4 · 2 + 13 = 33 and TC O =  · 3 + 7 · 2 + 13 = 27 + 3 . Then

TC R TC O

=

33 27+3



11 9

as

 → 0. The result follows. 2

5. Conclusions









∗ ∗ In C j  T |( j )max . We show that problem this paper,we study the problems Pm| C j  T |( C j )max and P | C Pm| C j  T ∗ |( C j )max is NP-hard in the ordinary sense and problem P | C j  T ∗ |( C j )max  is strongly NP-hard. ∗ |( A  pseudo-polynomial-time algorithm and an FPTAS are presented for problem Pm | C  T C j )max . For problem j  P | C j  T ∗ |( C j )max , we consider two algorithms: the classic algorithm SPT and algorithm RSPT, and present the analysis of the upper and lower bounds of their worst-case ratios. But there are gaps between the upper and lower bounds of the worst-case ratios for both of the two algorithms in our research. For the further research, it is interesting to establish the exact worst-case ratios of SPT and RSPT.

References [1] E. Angel, E. Bampis, F. Pascual, How good are SPT schedules for fair optimality criteria, Ann. Oper. Res. 159 (2008) 53–64. [2] P. Brucker, Scheduling Algorithms, Springer, New York, 2007. [3] C.-L. Chen, R.L. Bulfin, Complexity of single machine, multi-criteria scheduling problems, European J. Oper. Res. 70 (1993) 115–125.

L. Wan et al. / Theoretical Computer Science 518 (2014) 117–123

123

[4] H. Emmons, A note on a scheduling problem with dual criteria, Naval Res. Log. Quart. 22 (1975) 615–616. [5] M.Y. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, Freeman, New York, 1979. [6] J.A. Hoogeveen, S.L. van de Velde, Minimizing total completion time and maximum cost simultaneously is solvable in polynomial time, Oper. Res. Lett. 17 (1995) 205–208. [7] J.A. Hoogeveen, Single-machine bicriteria scheduling to minimize a function of two or three maximum cost criteria, J. Algorithms 21 (1996) 415–433. [8] H. Hoogeveen, Multicriteria scheduling, European J. Oper. Res. 167 (2005) 592–623. [9] H. Heck, S. Roberts, A note on the extension of a result on scheduling with a secondary criteria, Naval Res. Log. Quart. 19 (1972) 403–405. [10] J.Y.-T. Leung, G.H. Young, Minimizing schedule length subject to minimum flow time, SIAM J. Comput. 18 (1989) 314–326. [11] F. Sourd, Preemptive scheduling with two minimax criteria, Ann. Oper. Res. 107 (2001) 303–319. [12] L. Wan, Z.H. Ding, Q.Q. Chen, Z.Y. Tan, Scheduling to minimize the maximum total completion time per machine, submitted for publication.