Upload
gaurav-singh
View
215
Download
1
Embed Size (px)
Citation preview
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
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:
�
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.
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 0i > 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Þ;
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.
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 0p 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
pÞ
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
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
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.
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:
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.
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 maxj2Mð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.