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.