On-line Scheduling for Jobs with Arbitrary Release ... - Semantic Scholar

Report 2 Downloads 147 Views
Computing 73, 79–97 (2004) Digital Object Identifier (DOI) 10.1007/s00607-004-0067-1

On-line Scheduling for Jobs with Arbitrary Release Times R. Li and H.-C. Huang, Singapore Received February 11, 2003; revised January 30, 2004 Published online: April 14, 2004  Springer-Verlag 2004

Abstract This paper considers the problem of on-line scheduling a list of independent jobs in which each job has an arbitrary release time on m parallel identical machines. A tight bound is given for List SchedulingðLSÞ algorithm and a better algorithm is given for m  2. AMS Subject Classifications: 90B35 (90C27). Keywords: On-line scheduling, List scheduling, worst-case performance.

1. Introduction Scheduling has been studied extensively in many varieties and from many viewpoints. In the basic situation, the scheduler has full information of the problem instance, such as the total number of jobs to be scheduled, their release dates and their processing time, before solution algorithms are applied. Such situation is called off-line. But in many applications, the scheduler has to make a decision upon the arrival or booking of a job. This situation is called on-line. According to the characteristics of the existing on-line scheduling algorithms, we can classify them into the following two basic paradigms: (1) Scheduling jobs over the job list (or one by one). The jobs are given one-byone as they appear in a list. The scheduler gets to know the arrival of a job only after all appeared jobs have been scheduled. (2) Scheduling jobs over the machines’ processing time. All jobs arrive at their release time. The jobs are scheduled with the passage of time. At any point of the machines’ processing time, the scheduler can decide whether any of the jobs that have arrived at and before that point of time is to be assigned, but the scheduler only knows the jobs that have already arrived and has no information at all on whether any more jobs will come. In the above paradigms, it is assumed that the scheduler’s decision to schedule a job or operation is irrevocable. The jobs are to be scheduled as efficiently as *This research is supported by Singapore-MIT Alliance.

80

R. Li and H.-C. Huang

possible, which often means that the overall completion time Cmax , called makespan, is as small as possible. In this paper, we deal with the problem of scheduling jobs on identical parallel machines with the objective of minimizing the makespan. No preemption is allowed. For the problem of scheduling over the machines’ processing time, Motwani et al. [8], Shmoys et al. [9], and Chen and Vestjens [3] considered the model in which jobs arrive over time, and all job characteristics become known at their arrival time. For the problem of scheduling over the job list, Graham [5] gave an algorithm called List Scheduling (LS) which has a worst case performance of 2  m1 . Since then some algorithms which are better than algorithm LS have been proposed [1, 2, 4, 7]. As far as we know, the current best performance is 1.9201 which is given by Fleischer and Wahl [1]. In both paradigms one and two, it is assumed that when the scheduler begins to assign a job, the job has already arrived. However in some practical situations, a booking is reserved for a time slot and a machine before the job is released. It is demanded that when a customer places a booking, the scheduler should respond immediately. In this case, the scheduler is informed of the arrival time of the job and its processing time and the request of the job appears in form of order before its release time. In this paper, we assume that the orders appear on-line. As soon as a request of an order arrives, the scheduler must irrevocably pre-assign a time slot and a machine for the job and the scheduler does not know the existence of other orders until all appeared orders have been scheduled. All the orders are available at time zero. We can refer to this model as an on-line scheduling for jobs with arbitrary release times. This problem is motivated by an air cargo import terminal problem. Currently, for a cargo terminal we have encountered cargo agents make requests either by fax or through web or by phone to book for truck docks at the terminal for the cargo collection. Cargo agents will indicate their preference time to come to the terminal as well as the cargo items that they want to collect. Because of the limited number of truck docks, the scheduler/the in house system must be able to schedule the delivery time in a more intelligent way in order to reduce the total makespan at the end of the shift. This problem can be formally defined as follow. We are given a job list L ¼ fJ1 ; J2 ; . . . ; Jn g. Job Jj has a release time rj and processing time pj ðj ¼ 1; 2; . . . ; nÞ. Suppose that the current request of an order is made for job Jj with release time rj and processing time pj and the scheduler does not know the existence of other new jobs until job Jj has been given a processing slot. In this online situation, the sequence of jobs’ release times is arbitrary, not as in the two paradigms mentioned before in which the sequence of the jobs’ release times is non-decreasing. In fact, this problem is just the generalization of Graham’s classical on-line scheduling problem. If we just let all jobs’ release times be zero, then this model becomes the classical on-line scheduling problem.

On-line Scheduling for Jobs with Arbitrary Release Times

81

In the following of this paper, we will give the tight performance ratio of the LS algorithm in Sect. 3 and suggest a better algorithm for m  2 in Sect. 4.

2. Definitions Definition 1: Let L ¼ fJ1 ; J2 ; . . . ; Jn g be any list of jobs, where job Jj ðj ¼ 1; 2; . . . ; nÞ arrives at its release time rj and has a processing time of pj . We have m A  identical machines. Algorithm A is a heuristic algorithm. Cmax ðLÞ and Cmax ðLÞ denote the makespan of algorithm A and the makespan of an optimal off-line algorithm respectively. We refer to Rðm; AÞ ¼ sup L

A Cmax ðLÞ  ðLÞ Cmax

as the worst case performance ratio of algorithm A. Definition 2: Suppose that Jj is the current job with release time rj and processing time pj . We say that machine Mi has an idle time interval for job Jj , if there exists a time interval ½T1 ; T2  satisfying the following conditions: (1) Machine Mi is idle in interval ½T1 ; T2 . (2) T2  max fT1 ; rj g  pj . It is obvious that if machine Mi has an idle time interval ½T1 ; T2  for job Jj , then we can assign Jj to machine Mi in the idle interval.

Algorithm LS Step 1: Assume that Li is the scheduled completion time of machine Mi ði ¼ 1; 2; . . . ; mÞ. Reorder machines such that L1  L2      Lm and let Jn be a new job given to the algorithm with release time rn and running time pn . Let s ¼ maxfrn ; L1 g. Step 2: Suppose that there exist some machines which have idle intervals for job Jn . Select a machine Mi which has an idle interval ½T1 ; T2  for job Jn with minimal T1 . Then we assign job Jn to machine Mi to be processed starting at time maxfT1 ; rn g in the idle interval. On the other hand if no such Mi exists we assign it to machine M1 at time s to start the processing. In the following of this paper, we will use MiLS ðJi1 ; Ji2 ; . . . ; Jiq Þ to denote the job sequence Ji1 ; Ji2 ; . . . ; Jiq assigned on machine Mi in LS scheduling and Mi ðJi1 ; Ji2 ; . . . ; Jiq Þ to denote the job sequence Ji1 ; Ji2 ; . . . ; Jiq assigned on machine Mi in an optimal scheduling, where Jis 2 fJ1 ; J2 ; . . . ; Jn gðs ¼ 1; 2; . . . ; qÞ.

82

R. Li and H.-C. Huang

3. Worst Case Performance For any job list L ¼ fJ1 ; J2 ; . . . ; Jn g, if r1  r2      rn , then we have LS Cmax ðLÞ 1 2 :  ðLÞ Cmax m

ð1Þ

This conclusion can be derived similarly based on the argument given by Hall and Shmoys [6]. As far as we know, any algorithm performance of the known on-line paradigms is bound by 2  m1 . Now we will give the algorithm’s performance for jobs with arbitrary release times. Theorem 1: For the problem of scheduling jobs with arbitrary release times, Rðm; LSÞ ¼ 3 

1 : m

ð2Þ

Proof: Let L ¼ fJ1 ; J2 ; . . . ; Jn g be an arbitrary sequence of jobs. Job Jj has release time rj and running time pj ðj ¼ 1; 2; . . . ; nÞ. Without loss of generality, we suppose that the scheduled completion time of jobP Jn is the largest job completion time for all the machines, i.e. the makespan. Let P be n1 j¼1 pj ; ui ði ¼ 1; 2; . . . ; mÞ be the total idle time of machine Mi , and s be the starting time of job Jn . Let u ¼ s  L1 , then we have LS ðLÞ ¼ L1 þ pn þ u; Cmax

u  rn ;

u þ pn  rn þ pn :

It is obvious that  rn þ pn  Cmax ðLÞ;

 P þ pn  mCmax ðLÞ:

  Because Cmax ðLÞ  maxfr1 ; r2 ; . . . ; rn g we have ui  Cmax ðLÞði ¼ 1; 2; . . . ; mÞ. So

Pm LS Cmax ðLÞ L1 þ pn þ u ðLi þ pn Þ þ mu ¼  i¼1    Cmax ðLÞ Cmax ðLÞ mCmax ðLÞ P P þ pn þ m u þ ðm  1Þðu þ pn Þ i¼1 i ¼  mCmax ðLÞ P P þ pn þ m i¼1 ui þ ðm  1Þðrn þ pn Þ   ðLÞ mCmax    mCmax ðLÞ þ mCmax ðLÞ þ ðm  1ÞCmax ðLÞ   mCmax ðLÞ 1 ¼3 : m By the arbitrariness of L we have Rðm; LSÞ  3  m1 . The following example shows that the bound of 3  m1 is tight.

On-line Scheduling for Jobs with Arbitrary Release Times

83

Let L0 ¼ fJ1 ; J2 ; . . . ; J2m2 mþ1 g with rj ¼ i  e;

pj ¼ e;

ði  1Þm þ 1  j  im; 2

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

2

rj ¼ 0;

pj ¼ 1;

m þ 1  j  2m  m;

rj ¼ 0;

pj ¼ m;

j ¼ 2m2  m þ 1:

It is easy to see that the LS scheduling is MiLS ðJi ; Jiþm ; . . . ; Jiþðm1Þm ; Jiþm2 ; . . . ; Jiþð2m2Þm Þ; i ¼ 2; 3; . . . ; m; M1LS ðJ1 ; J1þm ; . . . ; J1þðm1Þm ; J1þm2 ; . . . ; J1þð2m2Þm ; J2m2 mþ1 Þ: LS ðL0 Þ ¼ L1 ¼ m þ m  1 þ m ¼ 3m  1: One of the optimal scheduling is Thus Cmax

Mi ðJm2 þði1Þmþ1 ; Jm2 þði1Þmþ2 ; . . . ; Jm2 þði1Þmþm ; Ji ; Jiþm ; . . . ; Jiþðm1Þm Þ; for

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

Mm ðJ2m2 mþ1 ; Jm ; Jmþm ; . . . ; Jmþðm1Þm Þ:  ðL0 Þ ¼ m þ me: Hence Thus Cmax

Rðm; LSÞ 

LS Cmax ðL0 Þ 1 þ 3me : ¼3  m þ me Cmax ðL0 Þ

Let e tend to zero, we have Rðm; LSÞ  3  m1 . That means Rðm; LSÞ ¼ 3  m1 .

h

Theorem 2: For the problem of jobs with arbitrary release times, there is no online algorithm with worst case ratio less then 2. Proof: Suppose that algorithm A has worst case ratio less than 2. Let L ¼ fJ1 ; J2 ;    ; Jmþ1 g, with r1 ¼ 1; p1 ¼ e; rj ¼ 0; pj ¼ S þ eðj ¼ 2; 3; . . . ; m þ 1Þ; where S  1 is the starting processing time of job J1 . Lk ¼ fJ1 ; . . . ; Jk gðk ¼ 1; 2; . . . ; mÞ: Because Rðm; AÞ < 2, any two jobs from the job set Lk can A not be assigned to the same machine and also Cmax ðLmþ1 Þ  2ðS þ eÞ. But  Cmax ðLmþ1 Þ ¼ S þ 2e, so A Cmax ðLmþ1 Þ 2ðS þ eÞ :   Cmax ðLmþ1 Þ S þ 2e

Let e tend to zero, we get Rðm; AÞ  2. This is a contradiction.

h

From the conclusions of Theorem 1 and Theorem 2, we know that the algorithm LS is the optimal algorithm for m ¼ 1.

84

R. Li and H.-C. Huang

4. An Improved Algorithm for m ‡ 2 In this section we will give a modified LS algorithm, MLS, which satisfies Rðm; MLSÞ  3  m1  em with em  e for any m  2, where e is a fixed positive number independent of m. In the following of this paper, for a real number x, we use bxc to represent the largest integer which is not bigger than x. In the algorithm, two real numbers am and bm are used that satisfy 2 þ bm < am < 3m1 m and bm > 0: bm2 c m 1 In the following, we set dm ¼ 3m1  , g ¼  1, where am is a m , bm ¼ m m b2c gm ðam dm Þ m root of the following Eq. (3). 2½x  1 þ gm ðx  dm Þ 2g2m ðx

2

 dm Þ þ ½gm xðx  dm Þ  1½x  1 þ gm ðx  dm Þ

þ

2m  1 ¼ x: m

ð3Þ

Theorem 3: For any m  2, Eq. (3) has a root am which satisfies 2 þ bm < am < 3  m1 and bm > 0, where bm ¼ g ðam1dm Þ  1. Furthermore, there m exists a fixed positive number e independent of m such that am  3  m1  e. Proof: Let f ðxÞ ¼

2½x  1 þ gm ðx  dm Þ 2g2m ðx

2

 dm Þ þ ½gm xðx  dm Þ  1½x  1 þ gm ðx  dm Þ

þ

2m  1  x: m

2x Note that gm ðx  dm Þjx¼3m1 ¼ 1: We have f ð3m1 m Þ ¼ 2þðx1Þx  1jx¼3m1 < 0: m

m

It is easy to see that there exists a real number a0 which satisfies dm < a0 < 3m1 m and gm ða0  dm Þ ¼ a011. Because a0 > dm > 2; we have ða0  1Þ2 þ 1 > 2. Hence we have 2ða0  1 þ a011Þ 2m  1  a0 þ f ða0 Þ ¼ 2 a0 1 m þ ð  1Þða  1 þ Þ 0 a0 1 a0 1 ða 1Þ2 0

¼ 

2ða0  1Þðða0  1Þ2 þ 1Þ 2

2 þ ða0  1Þ þ 1 2ða0  1Þðða0  1Þ2 þ 1Þ 2

2ðða0  1Þ þ 1Þ

þ

2m  1  a0 m

þ

2m  1 1  a0 ¼ 1  > 0: m m

It is easy to check that function f ðxÞ is continuous in interval ½a0 ; 3m1 m . Thus (3) has a Þ. By a > a we have g ða  1Þðam  dm Þ  1 root am in interval ða0 ; 3m1 m 0 m m m gm ðam 1Þðam dm Þ1 > 0, > gm ða0  1Þða0  dm Þ  1 ¼ 0: This results in am  2  bm ¼ gm ðam dm Þ 1 we have b ¼  1 > 0: i.e. am > 2 þ bm : By am < 3m1 m m g ðam dm Þ m

Next for x > d2qþ1 , we set gðx; qÞ ¼

2g22qþ1 ðx  d2qþ1 Þ2 þ ½g2qþ1 xðx  d2qþ1 Þ  1½x  1 þ g2qþ1 ðx  d2qþ1 Þ 2½x  1 þ g2qþ1 ðx  d2qþ1 Þ 

1 x  2ð2qþ1Þ1 2qþ1

:

On-line Scheduling for Jobs with Arbitrary Release Times

85

Because x > d2qþ1 and g2qþ1  2, we have ðg32qþ1  g22qþ1 Þðx  d2qþ1 Þ2 þ 2g22qþ1 ðx  1Þðx  d2qþ1 Þ @gðx;qÞ g2qþ1 ¼ ð2x  d2qþ1 Þ þ @x 2 ½x  1 þ g2qþ1 ðx  d2qþ1 Þ2 þ

1 2 ½x  2ð2qþ1Þ1 2qþ1 

> 0;

2 g2qþ1 x g32qþ1 ðx  d2qþ1 Þ þ 2g22qþ1 ðx  1Þðx  d2qþ1 Þ @gðx;qÞ 1 ¼½ þ  2 @q 2 ½x  1 þ g2qþ1 ðx  d2qþ1 Þ ð2q þ 1Þ2 3 2 xðx  d2qþ1 Þ g22qþ1 ðx  d2qþ1 Þ þ 2g2qþ1 ðx  1Þðx  d2qþ1 Þ 1 þ ½  2 q 2 ½x  1 þ g2qþ1 ðx  d2qþ1 Þ2



2 2 ð2q þ 1Þ ½x  2ð2qþ1Þ1 2qþ1  2

< 0:

and d2qþ1 < a2qþ3 Suppose f ða2qþ1 Þ ¼ f ða2qþ3 Þ ¼ 0, d2qþ1 < a2qþ1 < 3ð2qþ1Þ1 2qþ1 3ð2qþ3Þ1 < 2qþ3 . Then we have gða2qþ1 ; qÞ ¼ gða2qþ3 ; q þ 1Þ ¼ 0. Because @gðx;qÞ @q < 0, we have gða2qþ1 ; qÞ > gða2qþ1 ; q þ 1Þ. This results in gða2qþ3 ; q þ 1Þ > gða2qþ1 ; q þ 1Þ. By @gðx;qÞ @x > 0, we have a2qþ3 > a2qþ1 . Hence fam jm ¼ 3; 5; . . . ; 2q þ 1; . . .g is an increasing sequence by the results above. Suppose lim a2qþ1 ¼ a1 :

q!þ1

By the continuity of (3), we have 2½a1  1 þ 2ða1  52Þ 8ða1  52Þ2 þ ½2a1 ða1  52Þ  1½a1  1 þ 2ða1  52Þ

þ 2  a1 ¼ 0:

Solving this equation, we get a1 ¼ 2:9392. Thus lim ½

q!þ1

3ð2q þ 1Þ  1  a2qþ1  ¼ 0:0608: 2q þ 1

By the same way, we can get that lim ½

q!þ1

6q  1  a2q  ¼ 0:0608: 2q

Thus we conclude that there exists a positive number e independent of m such that am  3  m1  e for the root of (3), am , and any m  2 because am < 3  m1 for any integer number m  2. h In the following, am and bm are the two real numbers mentioned in Theorem 3 by Eq. (3). In order to keep the presentation simple, we drop the indices and write a and b instead if no confusion arises.

86

R. Li and H.-C. Huang

Algorithm MLS Step 1: Assume that Li is the scheduled completion time of machine Mi ði ¼ 1; 2; . . . ; mÞ. Reorder machines such that L1  L2      Lm and let Jn be a new job given to the algorithm. Set Lmþ1 ¼ þ1. Step 2: Suppose that there exist some machines which have idle intervals for job Jn . Select a machine Mi which has an idle interval ½T1 ; T2  for job Jn with minimal T1 . Then we assign job Jn to machine Mi to be processed starting at time maxfT1 ; rn g in the idle interval. If no such Mi exists, go to step 3. Step 3: If rn  L1 , we assign Jn on machine M1 to start at time L1 . Step 4: If Lk < rn  Lkþ1 for some 1  k  m and pn  brn , then we assign Jn on machine Mk to start at time rn . Step 5: If Lk < rn  Lkþ1 for some 1  k  m and pn < brn and Lkþ1 þ pn  aðrn þ pn Þ, then we assign Jn on machine Mkþ1 to start at time Lkþ1 . Step 6: If Lk < rn  Lkþ1 for some 1  k  m and pn < brn and Lkþ1 þ pn > aðrn þ pn Þ, then we assign Jn on machine Mk to start at time rn . Now we will show the following conclusion: Theorem 4: For any m  2, we have Rðm; MLSÞ  a:

ð4Þ

Proof: In P the following of this paper, for a given job list L, we set U ðLÞ ¼ m i¼1 ui ðLÞ, where ui ðLÞði ¼ 1; 2; . . . ; mÞ is the total idle time of machine Mi when job list L is scheduled by algorithm MLS. We will divide our proof into two parts as follows. Part 1: First we estimate U ðLÞ which is the total sum of idle time. Part 2: Next we show that, for any job list L,

MLS Cmax ðLÞ  ðLÞ Cmax

 a holds.

We first observe the following simple inequalities which will be used in our proof.  ðLÞ  rj þ pj ; for any j ¼ 1; 2;    ; n; Cmax

ð5Þ

 Cmax ðLÞ > ui ðLÞ; i ¼ 1; 2;    ; m:

ð6Þ

If there exists a subset fJj1 ;    ; Jjq g in job list L satisfying rjs  rðs ¼ 1; 2; . . . ; qÞ, then the following inequality is obvious:

On-line Scheduling for Jobs with Arbitrary Release Times

 Cmax ðLÞ

87

Pq rþ

s¼1 pjs

m

:

ð7Þ

Further we will use the following notations: For any 1  j  n, 1  i  m, we use Lj to denote the job list fJ1 ; J2 ; . . . ; Jj g and Lji to denote the completion time of machine Mi before job Jj is assigned in the following of this paper.

4.1. Part 1: Estimation of U ðLÞ In order to estimate U ðLÞ, we need to consider how the idle time is created. For a new job Jn given to algorithm MLS, if it is assigned in Step 4 or Step 6, then a new idle interval ½Lk ; rn  is created. If it is assigned in Step 3 or Step 5, no new idle time is created. Note that if it is assigned in Step 2, new idle intervals may appear, but no new idle time appears. For example, suppose we have two jobs J1 and J2 with r1 ¼ 6; r2 ¼ 2; p1 ¼ p2 ¼ 1. By the rule of MLS, J1 is assigned on machine Mm and then an idle interval ½0; 6 is created; job J2 is assigned on machine Mm in Step 2 and then two new idle intervals ½0; 2 and ½3; 6 are created. But these two new idle intervals are contained in the former idle interval ½0; 6. Because of this fact, we will say that ½0; 2 and ½3; 6 are created by job J1 rather than by J2 . In the following of this paper, we will only say idle time is created by jobs which are assigned in Step 4 or Step 6 of algorithm MLS. Note that only when a job is assigned in Step 4 or Step 6 of algorithm MLS can it make the total sum of idle time increase. Thus in this part, without loss of generality, we assume that the last job Jn in job list L is assigned on machine Mk with Lk < rn  Lkþ1 and 1  k  m. We further define the following terminologies: A job J is referred to as an idle job on machine Mi ; 1  i  m; if it is assigned on machine Mi in Step 4 or Step 6 of algorithm MLS. An idle job J is referred to as a last idle job on machine Mi ; 1  i  m; if J is assigned on machine Mi and there is no idle job on machine Mi after job J . (ii) We refer to an idle job J as a bjob if it is assigned in Step 4 of algorithm MLS. (iii) We refer to an idle job J as an ajob if it is assigned in Step 6 of algorithm MLS with k < m. (iv) We refer to an idle job J as a top-job if it is assigned in Step 6 of algorithm MLS with k ¼ m. (i)

From the definitions above, we know that: (i) Only an idle job can make U ðLÞ increase. (ii) Only idle job creates idle time. For a bjob J with release time r and processing time p, we have r¼

 r þ br r þ p Cmax ðLÞ   : 1þb 1þb 1þb

ð8Þ

88

R. Li and H.-C. Huang

The last inequality is from (5). rn Lemma 5: There exists no common idle time in interval ð1þb ; rn  for any two 0 machines Mi and Mi0 ð1  i; i  kÞ.

Proof: Let b be the least time point such that there exists no common idle time after time b for any two machines Mi and Mi0 ð1  i; i0  kÞ. Then we just need to show that ð1 þ bÞb  rn : If b ¼ 0, the inequality holds obviously. If b > 0, by the definition of b, then there exist one machine Mi which has an idle interval ½a; b with a < b and another machine Mi0 which has an idle interval ½a0 ; b0  with a0 < b  b0 , where 1  i; i0  k. We assume that ½a; b is created by idle job Jj and ½a0 ; b0  is created by idle job Jj0 . The assumptions mean that job Jj and Jj0 have release time rj  b and rj0  b0 , respectively. By the rules of the algorithm, at least one of the jobs Jj and Jj0 is not top job. So we can discuss the problem according to the following cases: Case 1: At least one of Jj and Jj0 is bjob. Suppose Jj0 is a bjob. In this case, it is easy to see that ð1 þ bÞb  ð1þ bÞb0  rj0 þ brj0  rj0 þ pj0  Li0 < rn . Similarly we can consider the case that Jj is a bjob. Case 2: Both Jj and Jj0 are not bjob. In this case, at least one of them is assigned in Step 6 of algorithm MLS with k 0 < m, i.e., at least one of them is an a-job. 0

If Jj appears ahead of Jj0 in the job list, then Jj0 is an ajob. Let Lji is the completion time of machine Mi just before Jj0 is to be assigned. By the rule of 0 0 algorithm MLS; we have Lji þ pj0 > aðrj0 þ pj0 Þ. This results in Lji > arj0  ab0 : 0 Note that a > 2 þ b, we have ð1 þ bÞb  ab  ab0 < Lji  Li < rn : Similarly we can discuss the case that Jj is behind Jj0 in the job list. h rn Let vi be the sum of the idle time on machine Mi before time point 1þb and v0i be the rn sum of the idle time on machine Mi after time point 1þb, i ¼ 1; 2; . . . ; k: It is P rn rn obvious that ui ðLÞ ¼ vi þ v0i ; vi  1þb . We have ki¼1 v0i  rn  1þb by Lemma 5. Because of this fact, we redefine ui ðLÞ :¼ vi , for 1  i  k  1, and P uk ðLÞ :¼ ks¼1 v0s þ vk in the following of this paper. After this redefinition, it is obvious that U ðLÞ is not changed and rn ; for 1  i  k  1: ð9Þ uk ðLÞ  rn and ui ðLÞ  1þb

In the following, we will use Ji1 to represent the first job assigned on machine Mi such that its starting time is Lk þ ti with ti > 0 and there is no idle job after time Lk þ ti on machine Mi , k  i  m. If no such job Ji1 exists, we set ti ¼ Li  Lk .

On-line Scheduling for Jobs with Arbitrary Release Times

89

In the following, we set A ¼ fijk < i  m and there exists no idle time in interval ½Lk ; Lk þ ti  on machine Mi g; B ¼ fijk  i  m and there exists idle time in interval ½Lk ; Lk þ ti  on machine Mi g; K ¼ fij1  i  k  1g [ fi 2 Bjthe last idle job on machine Mi is a b  jobg; A1 ¼ fi 2 Ajti > ð1 þ bÞLk g; A2 ¼ fi 2 Ajti  ð1 þ bÞLk g; tk0 ¼ maxfti ji 2 Bg; tk1 ¼ maxfti ji 2 A [ Bg; B1 ¼ fi 2 B n KjLk þ tk0  ðLk þ ti Þð1 þ bÞg; B2 ¼ fi 2 B n KjLk þ tk0 > ð1 þ bÞðLk þ ti Þg: By the definitions above, it is easy to show that B 6¼ ; (because k 2 BÞ and  Cmax ðLÞ > Lk þ tk0  Lk þ ti ; i 2 B. Further, we have  ðLÞ  tk1  ti ; i 2 A [ B: Cmax

The second inequality is obvious by the definition of tk1 . For the first inequality, if  k1 2 B we have Cmax ðLÞ > Lk þ tk1  tk1 . If k1 2 A and Lk þ tk1 is the starting time  of an idle job, then Cmax ðLÞ > Lk þ tk1 > tk1 . If k1 2 A and Lk þ tk1 is the starting time of a non-idle job, then by the definition of ti we know that, from time point Lk to time point Lk þ tk1 , machine Mk1 just process one job. We also have  Cmax ðLÞ  tk1 in this case. For any i 2 A, it is easy to see that ui ðLÞ < Lk . For any i 2 B, it is easy to know that job Ji1 is the last idle job on machine Mi with release time ri1 ¼ Lk þ ti and ui ðLÞ  Lk þ ti . If B1 6¼ ;, let Mi0 , i0 2 B1 , be the machine that Ji0 has the highest index among all of the last idle jobs on machine 1 Mi , i 2 B1 , in job list L, i.e., i01  i1 for any i 2 B1 . Let Li01 ¼ fJ1 ; J2 ;    ; Ji0 g. 1

i0

Then Li 1 , i 2 f1; 2; . . . ; mg, represents the completion time of machine Mi before job Ji0 is assigned. 1

If B1 6¼ ; we set i0

i0

B11 ¼ fi 2 B1 n fi0 gjLi 1  Li01 g; i0

i0

B12 ¼ fi 2 B1 jLi 1 > Li01 g [ fi0 g: If B1 ¼ ;, we set B11 ¼ B12 ¼ ;. It is obvious that, if B1 6¼ ;, then B12 6¼ ; because at least it contains item i0 . ri

01 Let vi be the sum of the idle time on machine Mi before time point 1þb and v0i be the

ri

01 sum of the idle time on machine Mi after time point 1þb for i 2 B11 [ fi0 g: It is ri 01 0 obvious that ui ðLÞ ¼ vi þ vi ; vi  1þb for any i 2 B11 [ fi0 g. Because ui ðLi01 Þ ¼ui ðLÞ

90

R. Li and H.-C. Huang

ri P 01 for any i 2 B11 [ fi0 g, we have i2B11 [fi0 g v0i  ri0  1þb by using Lemma 5 on job 1 i 01 of this fact, we redefine ui ðLÞ :¼ vi , for i 2 B11 , and ui0 ðLÞ :¼ list P L . Because 0 v þ v in the following of this paper. After this redefinition, it is i 0 i2B11 [fi0 g s obvious that U ðLÞ is not changed and ri0 1 ui ðLÞ  ð10Þ for i 2 B11 and ui0 ðLÞ  ri0 : 1 1þb

Now we set K ¼ K [ B11 : It is obvious that jKj þ jA1 j þ jA2 j þ jB12 j þ jB2 j ¼ m: In the following, we use Ji2 ; . . . ; Jiq to represent the job sequence assigned on i machine Mi after job Ji1 for k  i  m. By the rules of MLS we know that Ji2 ; . . . ; Jiq are assigned in Step 5 of MLS. Hence we have i

pij < brij ; aðrij þ pij Þ  Lk þ ti þ

j X

pis  Lk þ ti þ pij ;

s¼1

j ¼ 1; 2; . . . ; qi and i 2 A [ B12 : By the inequalities above, we have Lk þ ti ; j ¼ 1; 2; . . . ; qi and i 2 A [ B12 : rij  a þ ða  1Þb

ð11Þ

The following cases cover all possible scenarios and we will estimate U ðLÞ for each of them. Case 1: None of the last idle jobs on machine Mi ; i 2 B12 ; is an ajob. Case 2: At least one of the last idle jobs on machine Mi ; i 2 B12 ; is an ajob and jB12 j  1  m2 . Case 3: B2 6¼ ; and jB12 j  1 < m2 . Case 4: B2 ¼ ;, jB12 j  1 < m2 and tk1  ð1 þ bÞLk . = B12 . Case 5: B2 ¼ ;, jB12 j  1 < m2 , tk1 < ð1 þ bÞLk and k 2 Case 6: B2 ¼ ;, jB12 j  1 < m2 , tk1 < ð1 þ bÞ Lk (this means A1 ¼ ;), k 2 B12 and jA2 j þ jB12 j  1  m2 (if jA2 j þ jB12 j  1 < m2 , then jKj  bm2 c because B2 ¼ ; and A1 ¼ ;). Case 7: jKj  bm2 c: In the following we set MðbÞ ¼ fij1  i  m; ui ðLÞ  Lemma 6: If jMðbÞj  bm2 c, then we have

U ðLÞ  ðLÞ mCmax

 Cmax ðLÞ 1þb g.

bm c

2  mð1þbÞ þ

mbm2 c m :

On-line Scheduling for Jobs with Arbitrary Release Times

91

Proof: Using (6) for i 2 = MðbÞ; we have X ui ðLÞ X ui ðLÞ U ðLÞ ¼ þ  ðLÞ  ðLÞ  ðLÞ mCmax mCmax mCmax i2MðbÞ i= 2MðbÞ 

bm2 c m  bm2 c jMðbÞj m  jMðbÞj þ  þ : mð1 þ bÞ m mð1 þ bÞ m

x þ mx Here the last inequality follows by observing that the function hðxÞ ¼ mð1þbÞ m is a decreasing function of x for x 2 ½0; m. h

Lemma 7: If jKj  bm2 c, then we have

U ðLÞ  ðLÞ mCmax

bmc

2  mð1þbÞ þ

rn Proof: For i ¼ 1; 2; . . . ; k  1; we have ui ðLÞ  1þb 

i  k, we have ui ðLÞ  ri1  ri

01

ui ðLÞ  1þb 

 Cmax ðLÞ 1þb

 Cmax ðLÞ 1þb

mbm2 c m :

 Cmax ðLÞ 1þb

by (9). For i 2 K and

by (8). For i 2 K n K ¼ B11 , we have

by (10). Hence we have ui ðLÞ 

 Cmax ðLÞ ; i 2 K: 1þb

ð12Þ h

By Lemma 6, this lemma is proved.

Lemma 8: If none of the last idle jobs on machine Mi ; i 2 B12 ; is an ajob, then we have bm2 c m  bm2 c U ðLÞ þ :   ðLÞ mð1 þ bÞ m mCmax

ð13Þ

Proof: We will prove (13) according to the following cases: Case 1: B12 ¼ ;. In this case, we have B1 ¼ ;. As k0 can not be in B2 , we have k0 2 K. This means the C  ðLÞ last idle job on machine Mk0 , Jk0 , is a bjob. By (8) we have rk0  max 1þb : So we 1

have ui ðLÞ  Lk þ tk0 ¼ rk0  1

 Cmax ðLÞ 1þb ,

1

for i ¼ 1; 2; . . . ; m: By Lemma 6, we have (13).

Case 2: B12 6¼ ;. In this case, job Ji0 is a top job because none of the last idle jobs on machine 1 Mi ; i 2 B12 ; is an ajob. By the rules of MLS, there exists no machine Mi with i0

i0

Li 1 > Li01 because Ji0 is a top job. Thus we have B12 ¼ fi0 g by the definition of 1 B12 . Now we consider the following three cases: Case 2.1: B2 6¼ ;: Because B2 6¼ ;, let ti0 ¼ maxfti ji 2 B2 g. By the definition of B2 , we have Lk þtk0 C  ðLÞ Lk þ tk0 > ð1 þ bÞðLk þ ti0 Þ. Thus we have ui ðLÞ  Lk þ ti  Lk þ ti0  1þb  max 1þb

92

R. Li and H.-C. Huang

for any i 2 A1 [ A2 [ B2 . Using (12), we have jMðbÞj  jK [ A1 [ A2 [ B2 j ¼ m  1  bm2 c. By Lemma 6, we have (13). Case 2.2: B2 ¼ ; and k 2 K. By k 2 K we have that job Jn is a bjob. Hence by (8), we have ui ðLÞ < Lk < rn 

 Cmax ðLÞ 1þb

for any i 2 A1 [ A2 . Because B2 ¼ ; and B12 ¼ fi0 g, we

have jKj þ jA1 j þ jA2 j ¼ m  1  bm2 c: By Lemma 6, we have (13). Case 2.3: B2 ¼ ; and k 2 = K. Because B2 ¼ ; and k 2 = K, we can conclude that k 2 B1 . Because no job is behind job Jn , we have job Ji0 is the same job as Jn , i.e., i01 ¼ n and k ¼ i0 . Because none 1 of the last idle jobs on machine Mi ; i 2 B12 ; is an ajob, we have Jn (i.e., Ji0 ) is a 1 top job and then k ¼ m. Thus jKj  k  1 ¼ m  1  bm2 c. By Lemma 7, we know that (13) holds. h Lemma 9: If at least one of the last idle jobs on machine Mi ; i 2 B12 ; is an ajob and jB12 j  1  m2 , then we have U ðLÞ 2ð1 þ bÞða þ ða  1ÞbÞ :   ðLÞ mCmax 2 þ ða  1  bÞða þ ða  1ÞbÞ Proof: By jB12 j  1  m2 , we have B12 6¼ ;. Thus by the definition of B12 , we have i0 2 B12 . Now we will first show that job Ji0 is an ajob. If job Ji0 is not an ajob, 1 1 then it is a top job. Let job Ji0 be the last idle ajob on machine Mi0 with highest index 1 among all of the last idle ajobs on all machines Mi ; i 2 B12 . Ji0 exists by our 1

assumption that at least one of the last idle jobs on machines Mi ; i 2 B12 ; is an ajob. i

0

By the rules of algorithm MLS, there is a machine Ms with load Ls1 just before job Ji0 is 0 1 i to be assigned such that Ls1 þ pi0 > aðri0 þ pi0 Þ. Because job Ji0 is a top job and 0 1 1 1 1 i appears behind job Ji0 in the job list L, we have ri0 > Ls1 . Thus 1 1 ri0 > aðri0 þ pi0 Þ  pi0 > ari0 : 1

1

1

1

1

But we have ri0 ¼ Lk þ ti0  Lk þ tk0  ð1 þ bÞðLk þ ti0 Þ ¼ ð1 þ bÞri0 < ari0 (the 1 1 1 second inequality is because B1  B12 ). This is a contradiction. Thus job Ji0 is an 1 ajob. Let ti2 ¼ minfti ji 2 B12 g. Because Ji0 is an ajob, we have Lii0 þ pi0 > aðri0 þ pi0 Þ 1

1

1

for i 2 B12 n fi0 g. Note that ri0 ¼ Lk þ ti0 . For any i 2 B12 n fi0 g; we have 1

qi X j¼1

pij  Lii0  ðLk þ ti Þ > aðLk þ ti0 þ pi0 Þ  pi0  Lk  ti 1

1

> aðLk þ ti0 Þ  Lk  ti  aðLk þ ti2 Þ  Lk  ti ;  aðLk þ ti2 Þ  Lk  tk0  aðLk þ ti2 Þ  ð1 þ bÞðLk þ ti2 Þ:

1

On-line Scheduling for Jobs with Arbitrary Release Times

Because of (7) and (11), we have  Cmax ðLÞ

X Lk þ ti2 þ > a þ ða  1Þb i2B nfi 12

93

Pqi

j¼1 pij

0g

m

Lk þ ti2 ðjB12 j  1ÞðaðLk þ ti2 Þ  ð1 þ bÞðLk þ ti2 ÞÞ þ m a þ ða  1Þb m þ ðjB12 j  1Þða  1  bÞða þ ða  1Þb ðLk þ ti2 Þ: ¼ mða þ ða  1ÞbÞÞ 

By the definition of k0 and i2 2 B12  B1 , we have ui ðLÞ  Lk þ tk0  ð1 þ bÞ ðLk þ ti2 Þ for any 1  i  m: Thus we have U ðLÞ u1 þ u2 þ    þ um mð1 þ bÞðLk þ ti2 Þ ¼    ðLÞ  ðLÞ mCmax ðLÞ mCmax mCmax mð1 þ bÞða þ ða  1ÞbÞ  m þ ðjB12 j  1Þða  1  bÞða þ ða  1ÞbÞ 2ð1 þ bÞða þ ða  1ÞbÞ :  2 þ ða  1  bÞða þ ða  1ÞbÞ

h

Lemma 10: If B2 6¼ ;, and jB12 j  1 < m2 ; then we have bm2 c m  bm2 c U ðLÞ þ :   m mCmax ðLÞ mð1 þ bÞ Proof: By jB12 j  1 < m2 ; we get jKj þ jA1 j þ jA2 j þ jB2 j  bm2 c: Because B2 6¼ ;; we have ui ðLÞ 

Lk þtk0 1þb



 Cmax ðLÞ 1þb

for any i 2 A1 [ A2 [ B2 . Using (12), we have

jMðbÞj  jKj þ jA1 j þ jA2 j þ jB2 j  bm2 c: Thus by Lemma 6, this lemma is proh

ved. Lemma 11: If B2 ¼ ; and jB12 j  1 < m2 and tk1  ð1 þ bÞLk , then we have bm2 c m  bm2 c U ðLÞ þ :   ðLÞ mð1 þ bÞ m mCmax

Proof: Because B2 ¼ ; and jB12 j  1 < m2 , we have jKj þ jA1 j þ jA2 j  bm2 c. By tk1  ð1 þ bÞLk

and

 Cmax ðLÞ > tk1 ,

i 2 A1 [ A2 . By (12), ui ðLÞ  proved.

 Cmax ðLÞ 1þb

we

have

t

k1 ui ðLÞ  Lk < 1þb
rn . By (12), we have ui ðLÞ   Cmax ðLÞ 1þb

 Cmax ðLÞ 1þb

for any i 2 K. Thus we have ui ðLÞ  rn < ui0 ðLÞ 

 for any i 2 A2 [ fkg. For i 2 B12 n fkg; we use ui ðLÞ  Cmax ðLÞ by (6). By

Lemma 6 and jKj þ jA2 j þ 1  m2  bm2 c, we have

U ðLÞ  ðLÞ mCmax

bm c

2  mð1þbÞ þ

mbm2 c m :

Case 2: ui ðLÞ  rn for any i 2 K. In this case we have ui ðLÞ  rn for any i 2 K [ A2 [ fkg. For i 2 B12 n fkg; we have ui ðLÞ  Lk þ ti  Lk þ tk0  ð1 þ bÞrn : The last inequality is because k 2 B12  B1 . By k 2 B12 , we conclude that job Jn is not a bjob. If Jn is a top job, then k ¼ m. Thus jKj  k  1 ¼ m  1  m2 . We will show that this is a contradiction. By A1 ¼ ;, B2 ¼ ; and jA2 j þ jB12 j  1  m2 , we have jKj < m2 . Hence Jn is an ajob. For i 2 A2 [ B12 n fkg; j ¼ 1; 2; . . . ; qi ; it is easy to see that rij > Lk . Because Jn is an ajob, Li þ pn > aðrn þ pn Þ holds for any i 2 A2 [ B12 n fkg. Thus we have qi X p ij ¼ Li  ðLk þ ti Þ > aðrn þ pn Þ  pn  ðLk þ ti Þ j¼1

> arn  Lk  ti  arn  Lk  tk1 > arn  Lk  ð1 þ bÞLk : By (7) we have  Cmax ðLÞ > Lk

þ

Pqi

X

j¼1 pij

i2ðA2 [B12 Þnfkg

 rn þ ðjA2 j þ jB12 j  1Þ

m

 Lk þ ðjA2 j þ jB12 j  1Þ

arn  Lk  ð1 þ bÞLk m

arn  rn  ð1 þ bÞrn m þ ðjA2 j þ jB12 j  1Þða  2  bÞ rn : ¼ m m

On-line Scheduling for Jobs with Arbitrary Release Times

95

The last inequality results from rn > Lk and m  ðjA2 j þ jB12 j  1Þð2 þ bÞ(which results from jA2 j þ jB12 j  1  m2 ). Hence we have U ðLÞ ¼  ðLÞ mCmax 

X i2K[A2 [fkg

X i2K[A2 [fkg

X ui ðLÞ ui ðLÞ þ   ðLÞ mCmax ðLÞ i2B nfkg mCmax 12

X

rn þ  ðLÞ mCmax i2B

12

rn ð1 þ bÞ  mC max ðLÞ nfkg

jKj þ jA2 j þ 1 ðm  jKj  jA2 j  1Þð1 þ bÞ þ m þ ðjA2 j þ jB12 j  1Þða  2  bÞ m þ ðjA2 j þ jB12 j  1Þða  2  bÞ 2þb :  ab 

The last inequality is because a > 2 þ b; jKj þ jA2 j þ 1  m2 and jA2 jþ jB12 j  1  m2 . h 4.2. Part 2: The Proof of Theorem 1 In this part, let L ¼ fJ1 ; J2 ; . . . ; Jn g be an arbitrary sequence of jobs. Without loss of generality, we suppose that the completion time of job Jn is the largest job completion time for all machines, i.e., the makespan. Lemma 14: For any job list L, we have bm2 c m  bm2 c U ðLÞ 2ð1 þ bÞða þ ða  1ÞbÞ þ ; g  maxf  mð1 þ bÞ m mCmax ðLÞ 2 þ ða  1  bÞða þ ða  1ÞbÞ 2m  1 : ¼a m Proof: Note that gm ¼ bmmc. By b ¼ g 2

1 m ðadm Þ

 1, we have

bm2 c m  bm2 c 2m  1 þ ¼a ; mð1 þ bÞ m m 2ð1 þ bÞða þ ða  1ÞbÞ 2½a  1 þ gm ða  dm Þ ¼ : 2 þ ða  1  bÞða þ ða  1ÞbÞ 2g2m ða  dm Þ2 þ ½gm aða  dm Þ  1½a  1 þ gm ða  dm Þ Because a is the root of equation (3), we have 2½a  1 þ gm ða  dm Þ 2g2m ða

2

 dm Þ þ ½gm aða  dm Þ  1½a  1 þ gm ða  dm Þ

Thus the equality in this lemma is proved.

¼a

2m  1 : m (

Next we show the inequality. If there is no idle job in job list L, the inequality holds obviously because U ðLÞ ¼ 0. Otherwise, let Jj0 be the last idle job in list L.

96

R. Li and H.-C. Huang

Let Lj0 represent the job list fJ1 ; J2 ; . . . ; Jj0 g. Then we have U ðLÞ ¼ U ðLj0 Þ and j0   Cmax ðLÞ  Cmax ðLj0 Þ. This results in mCUðLÞðLÞ  mCUðLðLÞj0 Þ. By Lemma 7 – Lemma 13 max max we have bm2 c m  bm2 c 2 þ b U ðLj0 Þ 2ð1 þ bÞða þ ða  1ÞbÞ þ ; ; g:  maxf  j 0 mð1 þ bÞ m mCmax ðL Þ a  b 2 þ ða  1  bÞða þ ða  1ÞbÞ Because a > 2, we have 2þb 2ð1 þ bÞða þ ða  1ÞbÞ  a  b 2 þ ða  1  bÞða þ ða  1ÞbÞ ½2 þ b½2  a  ða  1Þb  bða  bÞða þ ða  1ÞbÞ < 0: ¼ ½a  b½2 þ ða  1  bÞða þ ða  1ÞbÞ Thus we have bm2 c m  bm2 c U ðMLS; LÞ 2ð1 þ bÞða þ ða  1ÞbÞ þ ; g:  maxf  mð1 þ bÞ m mCmax ðLÞ 2 þ ða  1  bÞða þ ða  1ÞbÞ

h

Hence this lemma is proved. Now we give the proof of Theorem 1 according to the following cases. Lemma 15: If job Jn is placed on machine Mkþ1 with Lk < rn  Lkþ1 and k  1, then we have

MLS Cmax ðLÞ  ðLÞ Cmax

 a:

MLS ðLÞ ¼ Lkþ1 þ pn < aðrn þ pn Þ. Note that Proof: By the rules of MLS, we have Cmax  Cmax ðLÞ  rn þ pn by (5). Then the following inequalities hold: MLS Cmax ðLÞ Lkþ1 þ pn Lkþ1 þ pn ¼    a:  ðLÞ Cmax Cmax ðLÞ rn þ pn

h

Lemma 16: If job Jn is placed on machine Mk with Lk < rn  Lkþ1 , then we have MLS Cmax ðLÞ  a:  ðLÞ Cmax MLS  ðLÞ ¼ rn þ pn and Cmax ðLÞ  rn þ pn . Hence Proof: In this case we have Cmax MLS Cmax ðLÞ rn þ pn   a:  Cmax ðLÞ rn þ pn

Lemma 17: If job Jn is placed on machine M1 , then we have

h

MLS Cmax ðLÞ  ðLÞ Cmax

 a:

MLS Proof: In this case we have L1  rn and Cmax ðLÞ ¼ L1 þ pn . Thus the following inequalities hold:

On-line Scheduling for Jobs with Arbitrary Release Times

97

Table 1 m

am

bm

Rðm; LSÞ

Rðm; MLSÞ

2 3 9 12 1

2.47066 2.63752 2.83957 2.86109 2.93920

0.06234 0.09582 0.12482 0.12505 0.13843

2.50000 2.66667 2.88889 2.91668 3.00000

2.47066 2.63752 2.83957 2.86109 2.93920

Pm Pn Pm MLS Cmax ðLÞ L1 þ pn j¼1 pj þ i¼1 ui ðLÞ þ ðm  1Þpn i¼1 ðLi þ pn Þ ¼   ¼  ðLÞ  ðLÞ  ðLÞ Cmax mCmax Cmax ðLÞ mCmax Pm Pn j¼1 pj þ i¼1 ui ðLÞ þ ðm  1Þðrn þ pn Þ  mC  ðLÞ Pm max   mCmax ðLÞ þ i¼1 ui ðLÞ þ ðm  1ÞCmax ðLÞ   ðLÞ mCmax U ðLÞ 2m  1  a: þ ¼  ðLÞ mCmax m

h

By Lemmas 15–17, we conclude that (4) holds. The comparison for some m between the two algorithms is shown in Table 1. References [1] [2] [3] [4] [5] [6] [7] [8] [9]

Fleischer, R., Wahl, M.: On-line scheduling revisited. J. Scheduling 3, 343–353 (2000). Bartal, Y., Fiat, A., Karloff, H., Vohra, R.: New algorithms for an ancient scheduling problem. In: Proc. 24th Annual ACM Symp. on Theory of Computing, 1992, pp. 51–58. Chen, B., Vestjens, A.P.A.: Scheduling on identical machines: How good is LPT in an on-line setting? Operat. Res. Lett. 21, 165–169 (1997). Galambos, G., Woeginger, G.J.: An on-line scheduling heuristic with better worst case ratio than Graham’s List Scheduling. SIAM J. Comput. 22, 349–355 (1993). Graham, R.L.: Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17, 416–429 (1969). Hall, L.A., Shmoys, D.B.: Approximation schemes for constrained scheduling problems. In: Proc. of 30th Ann. IEEE Symp. on Foundations of Computer Science, IEEE Computer Society Press, Loss Alamitos, CA, 1989, 134–139. He, Y., Zhang, G.: Semi on-line scheduling on two identical machines. Computing 62, 179–187 (1999). Motwani, R., Phillips, S., Torng, E.: Non-clairvoyant scheduling. Theor. Comp. Sci. 130, 17–47 (1994). Shmoys, D.B., Wein, J., Williamson, D.P.: Scheduling parallel machines on-line. SIAM. J. Comput. 24, 1313–1331 (1995). Rongheng Li Department of Industrial and Systems Engineering National University Of Singapore 1 Engineering Drive 2 Singapore 117576 e-mail: [email protected]

Huei-Chuen Huang Department of Industrial and Systems Engineering National University Of Singapore 1 Engineering Drive 2 Singapore 117576 e-mail: [email protected]

Verleger: Springer-Verlag GmbH, Sachsenplatz 4–6, 1201 Wien, Austria. – Herausgeber: Prof. Dr. Wolfgang Hackbusch, Max-Planck-Institut fu¨r Mathematik in den Naturwissenschaften, Inselstraße 22–26, 04103 Leipzig, Germany. – Satz und Umbruch: Scientific Publishing Services (P) Ltd., Madras, India. – Offsetdruck: Manz Crossmedia, 1051 Wien, Austria. – Verlagsort: Wien. – Herstellungsort: Wien. – Printed in Austria.