11
Scheduling UET-UCT outforests to minimize maximum lateness Gaurav Singh * School of Quantitative Methods and Mathematical Sciences, University of Western Sydney, Blacktown Campus, Building U2, Locked Bag 1797, Penrith South DC, NSW 1797, Australia Received 1 November 2002; accepted 1 March 2003 Available online 1 June 2004 Abstract In this paper, a well known NP-hard problem with parallel processors, precedence constraints, unit execution time task system, and the criterion of maximum lateness, is considered. In the case when the graph representing the partially ordered set of tasks is an outforest, we show that if the number of processors are restricted the generalization of the Brucker–Garey–Johnson algorithm presented in Oper. Res. Lett. 29 (1) (2001) 17 is a 2-approximation algorithm, and it produces an optimal schedule if the number of processors is sufficiently large. We also present another polynomial time algorithm, which enables us to obtain an optimal schedule when number of processors are two and precedence con- straints are in the form of an outforest. Ó 2004 Elsevier B.V. All rights reserved. Keywords: Scheduling; Unit execution times; Maximum lateness; Precedence constraints; Unit communication delays 1. Introduction Suppose that a set N ¼f1; 2; ... ; ng of n tasks (jobs, operations) is to be processed on m > 1 identical processors (machines) subject to precedence constraints in the form of an anti-reflexive, anti-symmetric and transitive binary relation on N . If task i precedes task j, denoted i ! j, then the processing of task i must be completed before the processing of task j begins. The processing of the tasks commences at time t ¼ 0. Each processor can process at most one task at a time, and each task can be processed by any processor. Once a processor begins executing a task it continues until completion (i.e. no preemptions are allowed). All processing times are equal, and therefore, without loss of generality, can be taken as one unit of time. It is convenient to represent a partially ordered set of tasks by an acyclic directed graph where nodes correspond to the tasks and arcs reflect the precedence constraints. * Tel.: +61-2-9852-4207; fax: +61-2-9852-4185. E-mail address: [email protected] (G. Singh). 0377-2217/$ - see front matter Ó 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2004.04.016 European Journal of Operational Research 165 (2005) 468–478 www.elsevier.com/locate/dsw

Scheduling UET-UCT outforests to minimize maximum lateness

Embed Size (px)

Citation preview

Page 1: Scheduling UET-UCT outforests to minimize maximum lateness

European Journal of Operational Research 165 (2005) 468–478

www.elsevier.com/locate/dsw

Scheduling UET-UCT outforests to minimizemaximum lateness

Gaurav Singh *

School of Quantitative Methods and Mathematical Sciences, University of Western Sydney, Blacktown Campus,

Building U2, Locked Bag 1797, Penrith South DC, NSW 1797, Australia

Received 1 November 2002; accepted 1 March 2003

Available online 1 June 2004

Abstract

In this paper, a well known NP-hard problem with parallel processors, precedence constraints, unit execution time

task system, and the criterion of maximum lateness, is considered. In the case when the graph representing the partially

ordered set of tasks is an outforest, we show that if the number of processors are restricted the generalization of the

Brucker–Garey–Johnson algorithm presented in Oper. Res. Lett. 29 (1) (2001) 17 is a 2-approximation algorithm, and it

produces an optimal schedule if the number of processors is sufficiently large. We also present another polynomial time

algorithm, which enables us to obtain an optimal schedule when number of processors are two and precedence con-

straints are in the form of an outforest.

� 2004 Elsevier B.V. All rights reserved.

Keywords: Scheduling; Unit execution times; Maximum lateness; Precedence constraints; Unit communication delays

1. Introduction

Suppose that a set N ¼ f1; 2; . . . ; ng of n tasks (jobs, operations) is to be processed on m > 1 identical

processors (machines) subject to precedence constraints in the form of an anti-reflexive, anti-symmetric and

transitive binary relation on N . If task i precedes task j, denoted i ! j, then the processing of task i must be

completed before the processing of task j begins. The processing of the tasks commences at time t ¼ 0. Each

processor can process at most one task at a time, and each task can be processed by any processor. Once a

processor begins executing a task it continues until completion (i.e. no preemptions are allowed). Allprocessing times are equal, and therefore, without loss of generality, can be taken as one unit of time. It is

convenient to represent a partially ordered set of tasks by an acyclic directed graph where nodes correspond

to the tasks and arcs reflect the precedence constraints.

* Tel.: +61-2-9852-4207; fax: +61-2-9852-4185.

E-mail address: [email protected] (G. Singh).

0377-2217/$ - see front matter � 2004 Elsevier B.V. All rights reserved.

doi:10.1016/j.ejor.2004.04.016

Page 2: Scheduling UET-UCT outforests to minimize maximum lateness

G. Singh / European Journal of Operational Research 165 (2005) 468–478 469

Since no preemptions are allowed and all processors are identical, to specify a schedule s it suffices todefine for each task j 2 N its completion time CjðsÞ in such a way that not more than m tasks are assigned

the same completion time, and the precedence constraints are satisfied. Each task j 2 N has a due date dj,the desired point in time by which the processing should be completed. The goal is to find a schedule which

minimizes the criterion of maximum lateness

LmaxðsÞ ¼ maxi2N

ðCiðsÞ � diÞ:

Without loss of generality, in this paper we will consider only schedules in which all completion times are

positive integers.

Using the popular three field notation ajbjc, where a specifies the processor environment, b specifies the

task characteristics, and c denotes the optimality criterion, the above problem can be denoted by P jprec,pj ¼ 1jLmax. Here P specifies that there are several parallel identical processors, prec indicates the presence

of precedence constraints, and the term pj ¼ 1 indicates that each task has a unit processing time.

In this paper we consider a generalization of the P jprec, pj ¼ 1jLmax problem––the problem with a unit

communication delay. This problem, denoted by P jprec, pj ¼ 1, cij ¼ 1jLmax, has an additional constraint

that if in a schedule s any two tasks i and j such that i ! j are processed on different processors, then

CjðsÞPCiðsÞ þ 2. The presence of a unit communication delay is indicated by the term cij ¼ 1.

If all due dates are equal to zero the problem stated above converts to the so called makespan problem,

with the criterion

CmaxðsÞ ¼ maxi2N

CiðsÞ;

which is known to be NP -hard [8]. Moreover, this makespan problem remains NP -hard even if the partiallyordered set of tasks is represented by an in-tree [6]. There are several approximation algorithms which yield

an optimal solution for some particular cases [3,6,7,11].

Sch€affter [9] shows that the complexity for the problems with communication delays comes from both:

communication delays as well as machine restrictions. Picouleau [7] as well as Hoogeveen et al. [5] proved

that the P1jprec; pj ¼ 1, cij ¼ 1jCmax problem is also NP -hard. Here the term P1 indicates that the number

of available processors are unlimited or sufficiently large. But, if the communication delays are smaller than

the processing times, the P1jtree; cij ¼ cjCmax problem can be solved in polynomial time [2]. In Section 2 we

complement this result by showing that the P1joutforest; pj ¼ 1; cij ¼ 1jLmax problem is polynomiallysolvable.

As far as the P jprec; pj ¼ 1; cij ¼ 1jLmax problem is concerned, only few results are known and have been

obtained very recently [10,11]. Verriet [11] shows that a straightforward extension of the Garey–Johnson

algorithm [4] for the P2jprec; pj ¼ 1jLmax problem also solves the P2jouttree; pj ¼ 1; cij ¼ 1jLmax problem,

and its worst-case performance can be characterized as

LmaxðsV Þ6 2

�� 2

m

�Lmaxðs�Þ þ 1

�� 2

m

�maxj2N

ðdj þ 1Þ;

where sV is a schedule constructed by the algorithm presented in [11] and s� is an optimal schedule for the

P jouttree; pj ¼ 1; cij ¼ 1jLmax problem. In [10] an extension of the Brucker–Garey–Johnson algorithm [1] is

presented, with the worst-case performance guarantee as

LmaxðsDÞ � Lmaxðs�Þ6 2m� 1

m

� �‘� wðmÞ;

where sD is a schedule constructed by the algorithm presented in [10], s� is an optimal schedule for the

P jprec; pj ¼ 1; cij ¼ 1jLmax problem, ‘ is the length of the longest path in the corresponding graph and

wðmÞ ¼m�1m for m odd;1 for m even:

Page 3: Scheduling UET-UCT outforests to minimize maximum lateness

470 G. Singh / European Journal of Operational Research 165 (2005) 468–478

Unlike other known performance guarantees [8,11] for problems with communication delay the per-formance guarantee in [10] is tight for arbitrary large instances of the P jprec; pj ¼ 1; cij ¼ 1jLmax problem.

This served as a motivation to consider the algorithm presented in [10] for the case when the precedence

constraints are in the form of an outforest.

In Section 2, we show that the algorithm presented in [10] gives an optimal schedule for the

P1joutforest; pj ¼ 1; cij ¼ 1jLmax problem, and for the P joutforest; pj ¼ 1; cij ¼ 1jLmax problem it provides

us with a 2-approximation algorithm, which is one of a few such results known for problems with com-

munication delay.

In Section 3, we present a polynomial time algorithm, which enables us to obtain an optimal schedulefor the P2joutforest; pj ¼ 1; cij ¼ 1jLmax problem. This algorithm can be seen as a generalization of the

algorithm presented in [12]. The computational complexity of a straightforward extension of the Garey–

Johnson algorithm [4], to the problems with communication delay has been analyzed in [11]. A similar

reasoning to [11] can be applied to estimate the computational complexity of the two presented algo-

rithms.

2. Scheduling UET-UCT outforests

In this section we consider the P joutforest; pj ¼ 1; cij ¼ 1jLmax problem and present a generalization of

the algorithm presented in [1], which enables us to obtain an optimal schedule for the

P1joutforest; pj ¼ 1; cij ¼ 1jLmax problem. We will also analyze the worst-case performance of this algo-rithm for the P joutforest; pj ¼ 1; cij ¼ 1jLmax problem, and show that the algorithm is a 2-approximation

algorithm.

For an arbitrary task j0 the set of its immediate successors will be denoted by Kðj0Þ. A task i is an

immediate successor of task j0 if j0 ! i and there is no task i0 satisfying j0 ! i0 ! i. Let j be an arbitrary task

such that KðjÞ 6¼ ;, and let j1 2 KðjÞ satisfy dj1 ¼ mini2KðjÞ di. For an arbitrary schedule s, let

LjðsÞ ¼CjðsÞ þ 1� dj1 if jKðjÞj ¼ 1;

max½CjðsÞ þ 1� dj1 ;CjðsÞ þ 2�mini2½kðjÞ�fj1g� di� if jKðjÞj > 1:

Since task j1 can be processed only after the completion of task j, and at most one task from the set KðjÞ

can be scheduled immediately after task j, we have

LmaxðsÞP max½LjðsÞ;CjðsÞ � dj�:

Therefore, the replacement of the original due dates by due dates d 0j, calculated according to the fol-

lowing algorithm, does not change the value LmaxðsÞ for all feasible schedules s.

Due date modification algorithm for the model with a unit communication delay

1. For each task j such that KðjÞ ¼ ;, set d 0j ¼ dj.

2. Select a task j which has not been assigned its modified due date d 0j and all of whose immediate succes-

sors have been assigned their modified due dates. Select j1 2 KðjÞ such that d 0j1 ¼ mini2KðjÞ d 0

i and set

d 0j ¼

min½dj; d 0j1� 1� if jKðjÞj ¼ 1;

min½dj; d 0j1� 1;mini2½KðjÞ�fj1g� fd 0

i � 2g� if jKðjÞj > 1:

(

Repeat step 2 until all tasks have been assigned their modified due dates.

To construct the desired schedule we arrange the tasks in a list in non-decreasing order of their modified

due dates and apply the following algorithm.

Page 4: Scheduling UET-UCT outforests to minimize maximum lateness

G. Singh / European Journal of Operational Research 165 (2005) 468–478 471

List scheduling with communication delay

1. Set t ¼ 0 and A ¼ ;.2. Scan the list from left to right and select the first task available for processing in time slot t. A task is

available for processing in time slot t, if this task has no unscheduled predecessors and there is an idleprocessor which can process this task. Let it be task j. If task j can be processed in the time slot t on only

one specific processor, then assign j to that processor. Otherwise set A ¼ A [ fjg. Delete task j from the

list and repeat this step until either the number of tasks in the set A becomes equal to the number of

processors which remain idle, or the end of the list is reached.

3. Allocate the tasks from the set A to the idle processors.

4. Set t ¼ t þ 1, A ¼ ;, and go to step 2.

2.1. Scheduling with unlimited number of processors

Let sD be a schedule constructed by the above algorithm. From the set of all tasks v such that

CvðsDÞ � d 0v ¼ LmaxðsDÞ; ð1Þ

choose a task p with the smallest completion time. Let MðpÞ be the set of all tasks j 2 N such that d 0j 6 d 0

p.

We first observe that if for any task i 2 MðpÞ, CiðsDÞ > CpðsDÞ then

CiðsDÞ � d 0

i > CpðsDÞ � d 0p;

which contradicts the selection of task p as a task satisfying (1). Therefore for any task i 2 MðpÞ, theinequality CiðsDÞ6CpðsDÞ holds. Also, if i ! j, then by due date modification algorithm d 0

i 6 d 0j � 1.

Therefore, any predecessor of a task from MðpÞ also belongs to MðpÞ.Since the number of available processors are infinite, if CpðsDÞ > 1 then either the time slot CpðsDÞ � 1 or

CpðsDÞ � 2 contains a task j such that j ! p. In the former case, since j ! p, d 0j 6 d 0

p � 1 and therefore

CjðsDÞ � d 0j ¼ CpðsDÞ � 1� d 0

j PCpðsDÞ � d 0p;

which again contradicts the selection of task p as a task with the smallest completion time and satisfying (1).

In the latter case, since task p was not scheduled during the time slot CpðsDÞ � 1 and the graph repre-senting the partially ordered set of tasks is an outforest, there exists a task j0 such that Cj0 ðsDÞ ¼ CpðsDÞ � 1

and j ! j0. Since j0 was preferred in place of p, d 0j0 6 d 0

p, and therefore by due date modification algorithm

d 0j 6 d 0

p � 2. Since CjðsDÞ ¼ CpðsDÞ � 2 we have

CjðsDÞ � d 0j P ðCpðsDÞ � 2Þ � ðd 0

p � 2Þ ¼ CpðsDÞ � d 0p;

which again contradicts the selection of task p as a task with the smallest completion time and satisfying (1).

Hence CpðsDÞ ¼ 1, and therefore

LmaxðsDÞ ¼ CpðsDÞ � d 0p ¼ 1� d 0

p 6Cpðs�Þ � d 0p 6 Lmaxðs�Þ:

This proves the following Theorem.

Theorem 1. The schedule sD is optimal for the P1joutforest; pj ¼ 1; cij ¼ 1jLmax problem.

2.2. Scheduling with limited number of processors

As introduced earlier, let sD be a schedule constructed by the algorithm. From the set of all tasks v suchthat

CvðsDÞ � d 0v ¼ LmaxðsDÞ;

Page 5: Scheduling UET-UCT outforests to minimize maximum lateness

472 G. Singh / European Journal of Operational Research 165 (2005) 468–478

choose a task p with the smallest completion time. Let MðpÞ be the set of all tasks j 2 N such that d 0j 6 d 0

p.

One can note that the selection of task p similar to that in the previous subsection, which we emphasize

using the same notation. As shown earlier, for any task i 2 MðpÞ, the inequality CiðsDÞ6CpðsDÞ holds, andthat any predecessor of a task from MðpÞ also belongs to MðpÞ.

Theorem 1 shows that if CpðsDÞ ¼ 1, then sD is optimal, so let us assume that CpðsDÞ > 1. For any positive

integer t < CpðsDÞ, we say that the time slot t is complete if exactly m tasks from MðpÞ are processed on the

time interval ½t � 1; t�. We say that the time slot t is incomplete, if the number of tasks from MðpÞ which are

processed on the time interval ½t � 1; t� is greater than or equal to one, but less than m. Corresponding tothis classification of time slots, we introduce the following notation. Let lcðtÞ and liðtÞ be the number of

complete and incomplete time slots before time slot t.

Lemma 1. For any task j 2 MðpÞ and for any schedule s,

LmaxðsÞP liðCjðsDÞÞ þ 1� d 0j: ð2Þ

Proof. We will prove (2) by induction on liðCjðsDÞÞ. If liðCjðsDÞÞ ¼ 0, then

LmaxðsÞPCjðsÞ � d 0j P 1� d 0

j

and therefore (2) holds. Suppose that liðCjðsDÞÞ ¼ 1. The existence of an incomplete time slot indicates that

task j has a predecessor, because, otherwise, according to the list algorithm, task j can be processed on that

incomplete time slot. Therefore, for any schedule s, CjðsÞP 2,

LmaxðsÞPCjðsÞ � d 0j P 2� d 0

j ¼ liðCjðsDÞÞ þ 1� d 0j;

and (2) holds.Suppose that for each task j0 such that liðCj0 ðsDÞÞ6 k,

LmaxðsÞP liðCj0 ðsDÞÞ þ 1� d 0j0 : ð3Þ

Let j be a task satisfying liðCjðsDÞÞ ¼ k þ 1. Among all positive integers t such that t < CjðsDÞ and the

time slot t is incomplete, select the largest one. Let it be t0. Then either the time slot t0 or t0 � 1 contains a

predecessor of task j. Denote this predecessor by j0. If Cj0 ðsDÞ ¼ t0, then liðCjðsDÞÞ ¼ liðCj0 ðsDÞÞ þ 1 and

since j0 ! j, d 0j0 6 d 0

j � 1, which together with (3) gives

LmaxðsÞP liðCj0 ðsDÞÞ þ 1� d 0j0 P liðCjðsDÞÞ þ 1� d 0

j:

If Cj0 ðsDÞ ¼ t0 � 1, then liðCjðsDÞÞ6 liðCj0 ðsDÞÞ þ 2. Since, task j was not scheduled during the time slot t0

and the graph representing the partially ordered set of tasks is an outforest, there exists a task i such that

CiðsDÞ ¼ t0 and j0 ! i. Since i was preferred in place of j, d 0i 6 d 0

j, and therefore by due date modification

algorithm d 0j0 6 d 0

j � 2. Therefore, using (3), we get

LmaxðsDÞP liðCj0 ðsDÞÞ þ 1� d 0j0 P liðCj0 ðsDÞÞ þ 2þ 1� d 0

j P liðCjðsDÞÞ þ 1� d 0j;

which completes the proof. h

Theorem 2. If s� is an optimal schedule for the P joutforest, pj ¼ 1, cij ¼ 1jLmax problem, then

LmaxðsDÞ6 2

�� 1

m

�Lmaxðs�Þ þ 1

�� 1

m

�maxj2N

dj: ð4Þ

The bound (4) is asymptotically achievable.

Page 6: Scheduling UET-UCT outforests to minimize maximum lateness

G. Singh / European Journal of Operational Research 165 (2005) 468–478 473

Proof. If sD is optimal, then

LmaxðsDÞ6 LmaxðsDÞ þm� 1

m

� �maxj2N

dj

�� d 0

p

�þ m� 1

m

� �CpðsDÞ

¼ LmaxðsDÞ þm� 1

m

� �ðCpðsDÞ � d 0

pÞ þm� 1

m

� �maxj2N

dj

¼ 2

�� 1

m

�Lmaxðs�Þ þ 1

�� 1

m

�maxj2N

dj

and therefore (4) holds. If liðCpðsDÞÞ ¼ 0, then tasks from MðpÞ cannot be processed more quickly by any

other schedule. Therefore

CpðsDÞ6 maxj2MðpÞ

Cjðs�Þ;

and since d 0j 6 d 0

p for all j 2 MðpÞ,

LmaxðsDÞ ¼ CpðsDÞ � d 0

p 6 maxj2MðpÞ

Cjðs�Þ � d 0p 6 max

j2MðpÞðCjðs�Þ � d 0

jÞ6 maxj2N

ðCjðs�Þ � d 0jÞ ¼ Lmaxðs�Þ:

Hence, ðsDÞ is optimal and again (4) holds.

Suppose that CpðsDÞ > 1 and liðCpðsDÞÞP 1. In order to estimate jMðpÞj, note that there is at least onetask from MðpÞ in every incomplete time slot and in the time slot CpðsDÞ. Hence

jMðpÞjPmlcðCpðsDÞÞ þ liðCpðsDÞÞ þ 1

and therefore

maxj2MðpÞ

Cjðs�ÞPjMðpÞj

mP

mlcðCpðsDÞÞ þ liðCpðsDÞÞ þ 1

m: ð5Þ

Also, since d 0j 6 d 0

p for all j 2 MðpÞ, we have

Lmaxðs�Þ ¼ maxj2N

ðCjðs�Þ � d 0jÞP max

j2MðpÞðCjðs�Þ � d 0

jÞP maxj2MðpÞ

Cjðs�Þ � d 0p: ð6Þ

From (5) and (6) together with Lemma 1, we have

LmaxðsDÞ ¼ CpðsDÞ � d 0p ¼ lcðCpðsDÞÞ þ liðCpðsDÞÞ þ 1� d 0

p

¼ mlcðCpðsDÞÞ þ liðCpðsDÞÞ þ 1

m� d 0

p þ 1

�� 1

m

�ðliðCpðsDÞÞ þ 1Þ

6 Lmaxðs�Þ þ 1

�� 1

m

�ðLmaxðs�Þ þ d 0

6 2

�� 1

m

�Lmaxðs�Þ þ 1

�� 1

m

�maxj2N

dj:

In order to show that (4) is achievable, we consider the partially ordered set of tasks corresponding to a

graph which is comprised of an initial section followed by k identical sections and one terminal section. The

initial section is comprised of dm2e rows, whereas each of k identical sections, and the terminal section, is

comprised of m rows. The first row of the initial section contains 2mþ 1 nodes, and the last row of each

identical section contains mþ 2 nodes. The dm2eth row of each section contains mþ 2 nodes, and all other

remaining rows of each section contain 2mþ 2 nodes. Fig. 1 gives an example of such a graph when m ¼ 5.

In this graph, the shaded nodes precede all nodes in the next row, whereas each non-shaded node has nosuccessors. Each task corresponding to a node in the first (top) row has a due date of two units of time.

Each task from any other row has the due date of the previous row plus two. The corresponding optimal

Page 7: Scheduling UET-UCT outforests to minimize maximum lateness

Fig. 1. The partially ordered set of tasks considered in Theorem 2.

Fig. 2. An optimal schedule for the maximum lateness problem with communication delay.

474 G. Singh / European Journal of Operational Research 165 (2005) 468–478

schedule and the schedule sD, constructed by the due date modification algorithm, are presented in Figs. 2

and 3, respectively. In this example we have LmaxðsDÞ ¼ 2dm2e þ ð2m� 2Þðk þ 1Þ � 1, Lmaxðs�Þ ¼ 1 and

maxj2N dj ¼ 2ðdm2e þ ðk þ 1ÞmÞ. Then the ratio

Page 8: Scheduling UET-UCT outforests to minimize maximum lateness

Fig. 3. A non-optimal schedule constructed by the due date modification algorithm for the UET-UCT model.

G. Singh / European Journal of Operational Research 165 (2005) 468–478 475

limk!1

LmaxðsDÞ2� 1

m

� �Lmaxðs�Þ þ 1� 1

m

� �maxj2N dj

¼ limk!1

2dm2e þ ð2m� 2Þðk þ 1Þ � 1

2� 1m

� �þ 1� 1

m

� �2ðdm

2e þ ðk þ 1ÞmÞ

¼ 1:

Therefore, (4) holds. h

3. An optimal algorithm for the P2|outforest, pj =1; cij =1|Lmax problem

In this section we present an algorithm, which enables us to obtain an optimal schedule for the

P2joutforest; pj ¼ 1; cij ¼ 1jLmax problem. The presented algorithm, like the other algorithm in this paper,represents a family of algorithms, which are two phase procedures. The first phase of this procedure

associates with every task a number, which indicates the priority or urgency of the task. The second phase

allocates tasks for processing in accord with these priorities.

If task j is considered separately from its successors, then its priority can be defined as dj. If the task’s

successors are also taken into account, then its priority can be defined more precisely [4,12]. Following this

line of reasoning, in [12] the priority of task j having successors is calculated by comparing dj with a

characteristic similar to LmaxðsÞ, which is computed for a schedule constructed for the partially ordered set

of its successors. This schedule is constructed using the priorities which have already been associated witheach of the successors. Let eK ðjÞ be the set of all successors of task j.

3.1. The algorithm

1. For each task i such that eK ðiÞ ¼ ;, set Di ¼ di.2. Select a task i which has not been assigned its D value Di and all of whose immediate successors have

been assigned their D values. If no such task exists, halt with all D values assigned.

3. Construct a list of tasks of eK ðiÞ in which the tasks are arranged in non-decreasing order of D, breaking theties by arranging the tasks in decreasing order of their task numbers. Let i1 be the first task in this list. Con-

struct the schedule si on the partially ordered set induced by eK ðiÞ in accordance with the procedure de-

scribed below. Since task i1 can be processed only after the completion of task i, and at most one task

from the set eK ðiÞ can be scheduled immediately after task i, allocate task i1 on the first processor during

the time interval ½0; 1�. Construct the remaining list schedule si, using the list scheduling algorithm described

in Section 2, over the partially ordered set induced by eK ðiÞ � fi1g from time point t ¼ 1 onwards. Set

Di ¼ min di; minj2~KðiÞ

ðDj

(� CjðsiÞÞ

)and return to step 2.

Page 9: Scheduling UET-UCT outforests to minimize maximum lateness

476 G. Singh / European Journal of Operational Research 165 (2005) 468–478

In order to obtain the desired schedule we arrange the tasks in the list in a non-decreasing order of theirD values and apply the list scheduling algorithm presented in Section 2. Let sDD be the resulting schedule.

To show that the schedule sDD is optimal, we need to consider the structure of sDD together with the

structure of the list schedules constructed by the algorithm computing D values. Therefore, let M � N be a

partially ordered subset of N induced by M such that for every a 2 M , eK ðaÞ � M .

Consider the list of tasks from M in which tasks are arranged in non-decreasing order of D, with tie

broken by arranging the tasks in decreasing order of the task numbers. Let sM be the list schedule on the set

M . Therefore, if M ¼ N , then sM is sDD. From the set of j 2 M such that

CjðsMÞ � Dj ¼ maxi2M

ðCiðsMÞ � DiÞ ð7Þ

we choose a task p 2 M with the smallest completion time. Let MðpÞ be the set of all tasks j 2 M such that

Dj 6Dp. Note that the selection of task p is similar to that in previous section, which we emphasize using the

same notation. Following the same line of reasoning as that in previous section, one can again show that for

any task i 2 MðpÞ inequality CiðsMÞ6CpðsMÞ holds. Also, if task i ! j then

Di 6 minv2~KðiÞ

ðDv � CvðsiÞÞ6Dj � CjðsiÞ6Dj � 1:

Thus, any predecessor of a task from MðpÞ also belongs to MðpÞ. Since the graph representing the partially

ordered set of tasks is an outforest, there is at least one task from MðpÞ in every time slot t. Let Mt be the set

of tasks from MðpÞ which are processed during the time slot t.

Lemma 2. If CpðsMÞ > 1, then for every time slot t such that 1 < t < CpðsMÞ, jMtj ¼ 2.

Proof. Suppose that the lemma is not true, and among time slots which do not satisfy the lemma, let time

slot t be the largest one. Since during the time slot t one processor is either idle or processes a task with Dvalue greater than Dp, each task from

SCpðsM Þk¼tþ1 Mk has a predecessor in time slot t or t � 1. According to our

assumption, time slot t can contain at most one task a 2 MðpÞ, and among all such time slots it is the largest

one. Hence, due to unit communication delay, task a can precede at most one task from the set Mtþ1.

Therefore, as the graph representing the partially ordered set of tasks is an outforest, all tasks from

[CpðsM Þk¼t Mk have a common predecessor, say task i 2 Mt�1.

Let si be the list schedule which was used to determine the value of Di. The set of tasks from eK ðiÞ \MðpÞwhich are available for processing in this schedule at time 0 coincides with the set of tasks from MðpÞ whichare available for processing at time t according to sM . In both lists the tasks are sequenced in accor-

dance with the same rule. Hence, in schedule si the task from Mtþ1 will be processed during the first time

unit, and this will be the only task from MðpÞ to be processed in this time interval. Similarly, the set Mtþ2

will be the set of all tasks from MðpÞ processed during the second time unit in the schedule si, and so on.

Therefore,

CpðsiÞ ¼ CpðsMÞ � CiðsMÞ:

Since task p is a successor of task i, we have

Di 6 minv2~KðiÞ

ðDv � CvðsiÞÞ6Dp � CpðsiÞ ¼ Dp � CpðsMÞ þ CiðsMÞ:

Hence

CiðsMÞ � Di PCpðsMÞ � Dp:

Page 10: Scheduling UET-UCT outforests to minimize maximum lateness

G. Singh / European Journal of Operational Research 165 (2005) 468–478 477

Thus the existence of a time slot t such that jMtj ¼ 1 contradicts the selection of task p as a task with thesmallest completion time and satisfying (7). h

Lemma 3. For any schedule s,

maxj2N

ðCjðsÞ � DjÞ ¼ LmaxðsÞ:

Proof. As for all j 2 N , Dj 6 dj we get

maxj2N

ðCjðsÞ � DjÞP maxj2N

ðCjðsÞ � djÞ ¼ LmaxðsÞ:

To show that

maxj2N

ðCjðsÞ � DjÞ6LmaxðsÞ ð8Þ

amongst all tasks v such that

CvðsÞ � Dv ¼ maxj2N

ðCjðsÞ � DjÞ; ð9Þ

select a task with the largest completion time. Let it be task x. If Dx ¼ dx then

CxðsÞ � Dx ¼ CxðsÞ � dx 6 LmaxðsÞ

and (8) holds. If Dx < dx then according to the algorithm

Dx ¼ minj2~KðxÞ

ðDj � CjðsxÞÞ:

Among all tasks i 2 eK ðxÞ such that

Di � CiðsxÞ ¼ minj2~KðxÞ

ðDj � CjðsxÞÞ;

let y be a task with the smallest completion time and as before let MðyÞ be the set of all tasks b 2 eK ðxÞ suchthat Db 6Dy . If CyðsxÞ ¼ 1 then

CxðsÞ � Dx ¼ CxðsÞ þ CyðsxÞ � Dy 6CyðsÞ � Dy ;

which contradicts the selection of task x as a task with the largest completion time and satisfying (9).

On the other hand, if CyðsxÞ > 1 then from Lemma 2 forM ¼ eK ðxÞ, we have that all time slots t such that

1 < t < CyðsxÞ contain exactly two tasks from MðyÞ. Therefore, in any schedule s due to a unit commu-

nication delay for some y0 2 MðyÞ

CxðsÞ þ CyðsxÞ6Cy0 ðsÞ:

Hence,

CxðsÞ � Dx ¼ CxðsÞ þ CyðsxÞ � Dy 6Cy0 ðsÞ � Dy 6Cy0 ðsÞ � Dy0 ;

which again contradicts the selection of task x as a task with the largest completion time and satisfy-

ing (9). h

Theorem 3. The schedule sDD is optimal for the P2joutforest; pj ¼ 1; cij ¼ 1jLmax problem.

Page 11: Scheduling UET-UCT outforests to minimize maximum lateness

478 G. Singh / European Journal of Operational Research 165 (2005) 468–478

Proof. Recall that sDD is a list schedule on the set N based on the list which arranges the tasks in non-

decreasing order of D. We set M ¼ N , and for the list schedule sDD, as before, we select a task p and

corresponding set MðpÞ. Then from Lemma 2, if CpðsDDÞ > 1, then all time slots t such that 1 < t < CpðsDDÞcontain exactly two tasks from MðpÞ. Also, due to unit communication delay, the time slot t ¼ 1 must

contain two tasks from MðpÞ. Therefore, the tasks from MðpÞ cannot be processed more quickly in any

other schedule. Hence, if s� is an optimal schedule for the P2joutforest; pj ¼ 1; cij ¼ 1jLmax problem

CpðsDDÞ6 maxj2MðpÞ

Cjðs�Þ

and since Dj 6Dp, for all j 2 MðpÞ,

LmaxðsDDÞ ¼ CpðsDDÞ � Dp 6 max

j2MðpÞCjðs�Þ � Dp

¼ maxj2MðpÞ

ðCjðs�Þ � DpÞ6 maxj2MðpÞ

ðCjðs�Þ � DjÞ6 maxj2N

ðCjðs�Þ � DjÞ

¼ maxj2N

ðCjðs�Þ � djÞ ¼ Lmaxðs�Þ:

Hence, sDD is optimal for the P2joutforest; pj ¼ 1; cij ¼ 1jLmax problem. h

References

[1] P. Brucker, M.R. Garey, D.S. Johnson, Scheduling equal-length tasks under tree-like precedence constraints to minimise

maximum lateness, Mathematics of Operations Research 2 (3) (1977) 275–284.

[2] P. Chretienne, A polynomial algorithm to optimally schedule tasks on virtual distributed systems under tree-like precedence

constraints, European Journal of Operational Research 43 (2) (1989) 225–230.

[3] L. Finta, Z. Liu, I. Milis, E. Bampis, Scheduling UET-UCT series-parallel graphs on two processors, Theoretical Computer

Science 162 (2) (1996) 323–340.

[4] M.R. Garey, D.S. Johnson, Scheduling tasks with nonuniform deadlines on two processors, Journal of the Association for

Computing Machinery 23 (3) (1976) 461–467.

[5] J.A. Hoogeveen, J.K. Lenstra, B. Veltman, Three, four, five, six, or the complexity of scheduling with communication delays,

Operations Research Letters 16 (3) (1994) 129–137.

[6] J.K. Lenstra, M. Veldhorst, B. Veltman, The complexity of scheduling trees with communication delays, Journal of Algorithms 20

(1) (1996) 157–173.

[7] C. Picouleau, �Etude de probl�e mes d’optimisation dans les syst�emes distribu�es, Ph.D. thesis, Universit�e Pierre et Marie Curie,

Paris, France, 1992.

[8] V.J. Rayward-Smith, UET scheduling with unit interprocessor communication delays, Discrete Applied Mathematics 18 (1987)

55–71.

[9] M.W. Sch€affter, Scheduling jobs with communication delays: complexity results and approximation algorithms, Ph.D. thesis,

Department of Mathematics, University of Berlin, 1996.

[10] G. Singh, Performance of critical path type algorithms for scheduling on parallel processors, Operations Research Letters 29 (1)

(2001) 17–30.

[11] J. Verriet, Scheduling tree-like task systems with non-uniform deadlines subject to unit length communication delays, Discrete

Applied Mathematics 101 (2000) 269–289.

[12] Y. Zinder, R. Roper, An iterative algorithm for scheduling unit-time operations with precedence constraints to minimise the

maximum lateness, Annals of Operations Research 81 (1998) 321–340.