Anda di halaman 1dari 19

European Journal of Operational Research 127 (2000) 425±443

www.elsevier.com/locate/dsw

Procedures for resource leveling and net present value problems in


project scheduling with general temporal and resource constraints
K. Neumann *, J. Zimmermann
Institut fur Wirtschaftstheorie und Operations Research, University of Karlsruhe, D-76128 Karlsruhe, Germany

Abstract

This paper deals with resource-constrained project scheduling problems with nonregular objective functions where
general temporal constraints given by minimum and maximum time lags between activities are prescribed. In par-
ticular, resource leveling and net present value problems are studied. We present di€erent heuristic and exact
procedures for (approximately) solving those problems. A detailed experimental performance analysis shows that
these procedures also solve large problem instances in reasonable computing time. Ó 2000 Elsevier Science B.V. All
rights reserved.

Keywords: Project management; Resource leveling; Net present value of projects; Resource-constrained project
scheduling; General temporal constraints

1. Introduction mum and maximum time lags between the start of


two di€erent activities. The resource constraints
We consider scheduling problems with two take into account that the renewable resources
di€erent types of nonregular objective functions required for carrying out the activities of the
and general temporal and resource constraints. If project are limited.
the objective function to be minimized represents For resource leveling problems with special
some measure of the variation of resource utiliza- objective functions and only special minimum
tion, we speak of a resource leveling problem. The time lags, several exact and heuristic solution
net present value problem deals with maximizing procedures have been proposed. Exact algo-
the net present value of the project in question. rithms based upon (implicit) enumeration, inte-
The general temporal constraints consist of mini- ger programming, or dynamic programming
techniques have been devised by Ahuja (1976),
Easa (1989), Bandelloni et al. (1994), Demeu-
* lemeester (1995) and Younis and Saad (1996).
Corresponding author. Tel.: +49-721-608-3807; fax: +49-
721-608-6616.
Recently, Savin et al. (1996, 1997) have proposed
E-mail address: neumann@wior.uni-karlsruhe.de (K. Neu- a neural network approach for solving resource
mann). leveling problems. Heuristic procedures have

0377-2217/00/$ - see front matter Ó 2000 Elsevier Science B.V. All rights reserved.
PII: S 0 3 7 7 - 2 2 1 7 ( 9 9 ) 0 0 4 9 8 - 1
426 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

been o€ered by Moder and Phillips (1970), ®nancial aspects of (medium- or long-range) pro-
Moder et al. (1983), Ahuja (1976), Harris (1978, jects, where the cash ¯ows incurred are discounted
1990), and Takamoto et al. (1995) most of them to the project start. For the basic concepts of the
representing simple shifting heuristics or priority- theory of cash ¯ows and net present value of
rule methods. The latter paper contains an ex- projects we refer to Russell (1970) and Herroelen
perimental performance analysis on an actual et al. (1997).
large-scale industrial plant construction problem For the net present value problem without
with 115 areas and a planning horizon of more resource constraints and without maximum time
than 1000 periods. lags, exact procedures based upon linear pro-
For resource leveling problems with general gramming or recursive search have been present-
objective functions, and with maximum time lags ed by Grinold (1972) and Herroelen et al. (1996).
in addition to minimum ones, Brinkmann and For the case of general temporal constraints, De
Neumann (1996) and Neumann and Zimmermann Reyck (1998) has devised a recursive search pro-
(1999a,b) have devised priority-rule based heuris- cedure, which generalizes the methods proposed
tics, where the latter represent the ®rst polynomial by Herroelen et al. (1996). For the resource-
heuristics for resource leveling in the open litera- constrained net present value problem without
ture. For a special case (the so-called resource maximum time lags, integer programming and
investment problem), N ubel (1998) has proposed branch-and-bound procedures have been devised,
a branch-and-bound procedure based on the e.g., by Yang et al. (1992) and Icmeli and
concept of minimal delaying alternatives and Ereng ußc (1996). Recently, in De Reyck and
disjunctive precedence constraints. Herroelen (1998), a branch-and-bound algorithm
Resource leveling plays an important role in based on the concept of minimal delaying modes
practice because large ¯uctuations in resource and the recursive search procedure of De Reyck
requirements (such as equipment, manpower, etc.) (1998) has been o€ered for the net present value
can be quite expensive Tavares (1987) which problem with general temporal and resource
contains a case study on a program to renew a constraints.
railway network, or Meridith and Mantel (1995), This paper is organized as follows: Section 2
where a resource leveling information system for gives a precise formulation of the resource level-
scheduling is considered). Moreover, expensive ing and net present value problems. Section 3
and heavy machinery is not often available in presents a new exact procedure for the net pre-
quantities management needs. The importance of sent value problem without resource constraints
resource leveling in practice is taken into account based on the approach by Grinold (1972), which
by software tools (e.g., Primavera, SuperProject, clearly outperforms the procedure by De Reyck
etc.), which o€er simple shifting heuristics for (1998). Branch-and-bound and truncated branch-
practical resource leveling problems (Meridith and-bound methods for resource leveling prob-
and Mantel, 1995). There may be resource level- lems with and without resource constraints are
ing problems with resource constraints and discussed in Section 4. To the best of our
without resource constraints in practice. Re- knowledge, exact procedures for resource leveling
sources such as production plants or capital problems with general temporal and resource
goods with long delivery times are generally lim- constraints have not been dealt with in the open
ited whereas resources such as workers or ma- literature so far. Sections 5 and 6 deal with
chines may be available in sucient number but heuristic schedule construction and schedule
should be used evenly over time. Both types of improvement procedures for resource leveling
resources have to be taken into account in project problems with and without resource constraints
scheduling. and for net present value problems with resource
In contrast to resource leveling, the objective constraints. Section 7 contains a detailed experi-
function of net present value problems is inde- mental performance analysis of the algorithms
pendent of resource utilization and emphasizes the presented.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 427

2. Resource leveling and net present value problems be the set of activities i 2 C in progress at time t
where we assume that activity i is in execution in
2.1. Preliminaries the half-open time P interval ‰Si ; Si ‡ pi ‰. Moreover,
let rk …S C ; t† :ˆ i2A…S C ;t† rik be the amount of re-
Let V ˆ f0; 1; . . . ; n ‡ 1g be the set of activities source k used at time t and T :ˆ f0; 1; . . . ; d ÿ 1g
of the project, which coincides with the node set of be the set of possible feasible start times of activ-
a corresponding activity-on-node project network. ities i 2 V n fn ‡ 1g. The step functions rk …S C ; †
The dummy activities 0 and n ‡ 1 represent the are called resource pro®les, and the jRj  d matrix
beginning and termination of the project, respec- R…S C † with elements rk …S C ; t† …k 2 R; t 2 T† is
tively. Let pi 2 Z P 0 be the duration or processing termed the resource utilization matrix given partial
time and Si 2 Z P 0 be the start time of activity schedule S C . Then the resource constraints read as
i 2 V . If there is a given minimum time lag follows:
dijmin 2 Z P 0 between the start of two di€erent ac-
tivities i and j, i.e., Sj ÿ Si P dijmin , we introduce an rk …S; t† 6 Rk ; k 2 R; t 2 T: …3†
arc hi; ji in the project network with weight
dij :ˆ dijmin . If there is a given maximum time lag A schedule S is called resource-feasible if it satis®es
dijmax 2 Z P 0 between the start of activities i and j, the resource constraints (3). A schedule which is
i.e., Sj ÿ Si 6 dijmax , we introduce an arc hj; ii with both time- and resource-feasible is called feasible.
weight dji :ˆ ÿdijmax . The arc set of the project
network is denoted by E.
Suppose that S0 ˆ 0 and there is a prescribed 2.2. Resource leveling problem
maximum project duration d 2 Z P 0 with d P
d0;n‡1 , where dij is the longest path length from The objective function of the resource leveling
node i to node j in the project network. A sequence problem is considered a function of matrix R…S†.
of start times S :ˆ …Si †i2V with Si 2 Z P 0 is called a Several di€erent classes of objective functions have
schedule. For 0 2 C  V we call S C :ˆ …Si †i2C a been discussed in the open literature (Neumann
partial schedule, where C is the set of activities and Zimmermann, 1999b). For example,
already scheduled and we omit the superscript C if X
C ˆ V . Schedule S is termed time-feasible if it f …R…S†† :ˆ ck max rk …S; t† …A†
t2T
k2R
satis®es the temporal constraints
represents the objective function of the so-called
Sj ÿ Si P dij ; hi; ji 2 E;
resource investment problem (M ohring, 1984;
S0 ˆ 0; Sn‡1 6 d; …1†
Demeulemeester, 1995; N ubel, 1998), where ck > 0
Si 2 Z P 0 ; i 2 V :
is the cost per unit of resource k. Class B of ob-
jective functions measures the deviation of the
By ES we denote the sequence of earliest and by LS consumption of resource k from a given resource
the sequence of latest start times (earliest and latest supply Yk P 0 (Easa, 1989; Harris, 1990; Bandel-
schedule). It is well known that ES and LS can be loni et al., 1994). Objective function (B1) is given
computed in O…jV jjEj† time by a label-correcting by
algorithm (Ahuja et al., 1993).
X X
Assume that a set of renewable resources R is f …R…S†† :ˆ ck
‡
‰rk …S; t† ÿ Yk Š ; …B1†
required for carrying out the project. Let Rk > 0 be k2R t2T
the capacity of resource k available and let rik P 0
‡
be the amount of resource k used by activity i, where ‰zŠ :ˆ max…z; 0† and ck may be the cost of
where rik 6 Rk …k 2 R; i 2 V †. Given partial sched- working overtime. In objective functions (B2) and
‡ 2
ule S C let (B3), ‰. . .Š is replaced by j . . . j and ‰. . .Š , respec-
tively. Class C considers the variation of resource
A…S C ; t† :ˆ fi 2 C j Si 6 t < Si ‡ pi g …2† utilization from period to period (Ahuja, 1976;
428 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

Brinkmann and Neumann, 1996; Younis and and …R‡ † with objective function (B1), (B2), (B3),
Saad, 1996). Objective function (C1) is given by (C1), or (C2) which represents a quasistable
schedule.
X X
d
‡
f …R…S†† :ˆ ck ‰rk …S; t† ÿ rk …S; t ÿ 1†Š ;
k2R tˆ0
2.3. Net present value problem
…C1†
Let b …0 < b 6 1† be the discount rate per period
where rk …S; ÿ1† :ˆ rk …S; d† :ˆ 0. In objective
‡ and cFi 2 R be the cash ¯ow associated with ac-
functions (C2) and (C3), ‰. . .Š is again replaced by
2 tivity i, which is assumed to occur at the comple-
j . . . j and ‰. . .Š , respectively.
tion time Si ‡ pi of activity i and may be positive
The resource leveling problem with general
(i.e., a payment received) or negative (i.e., a cost
temporal and resource constraints can then be
incurred). In practice, often a payment cFV 0 is re-
formulated as follows:
ceived only when a set of activities V 0  V instead
min: f …R…S†† of a single activity have been completed. In that
…R‡ † case, a dummy activity j with duration pj :ˆ 0 and
s:t: …1†; …3†:
cash ¯ow cFj :ˆ cFV 0 is added to the project network
The resource leveling problem without resource as well as arcs hi; ji …i 2 V 0 † and hj; n ‡ 1i with
constraints (3) is denoted by …Rÿ †. weights dij :ˆ pi and dj;n‡1 :ˆ 0, respectively.
As it has been shown by Bartusch et al. (1988), P TheF net present value of the project equals
Si ‡pi
the feasible region S (without the integrality c
i2V i b and the net present value problem
constraints Si 2 Z, i 2 V ) of …R‡ † is generally dis- with general temporal and resource constraints is
connected and represents the union of (convex) as follows:
polytopes whose number grows exponentially in n. P F Si ‡pi
The decision problem whether or not S 6ˆ ; max: ci b
i2V …N‡ †
is strongly NP-complete. The feasible region s:t: …1†; …3†:
(without the integrality constraints) ST of …Rÿ †
represents a polytope. For simplicity, we assume The net present value problem without resource
that ST 6ˆ ; in what follows, which holds to be constraints (3) is denoted by …Nÿ †.
true exactly if the underlying project network does The feasible regions of …N‡ † and (Nÿ ) coin-
not contain any cycle of positive length and cide with the feasible regions of …R‡ † and (Rÿ ),
d0;n‡1 6 d < 1. respectively. There is always an optimal solution
Special points of S correspond to certain types to …Nÿ † which represents an extreme point of ST
of schedules which dominate the set of optimal (which corresponds to a stable schedule, i.e., a
solutions of some project scheduling problems. feasible schedule where no activities can be glob-
For example, so-called quasiactive schedules (i.e., ally left- and right-shifted). If S 6ˆ ;, there is an
schedules which cannot be plainly left-shifted, optimal solution to …N‡ † which represents a local
where a plain left-shift transforms a schedule S extreme point of S (which corresponds to a so-
into a schedule S 0 6 S, S 0 6ˆ S, such that activities called pseudostable schedule, Neumann et al.
which do not overlap in S neither do in S 0 ) rep- (2000)).
resent minimal points of some polytopes from S,
and quasistable schedules (i.e., schedules which
cannot be plainly left- and right-shifted) represent 3. Exact algorithm for (N ÿ )
extreme points of some polytopes from S (Neu-
mann et al., 2000). If S 6ˆ ;, there is always an For activity-on-arc networks, Grinold (1972)
optimal solution to the resource investment prob- has shown that the so-called payment scheduling
lem which represents a quasiactive schedule. problem (which corresponds to the net present
Moreover, there is an optimal solution to …Rÿ † value problem) can be transformed into an
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 429

equivalent linear program on the network. The schedule S is a local maximizer of …Nÿ † if and
linear program is solved using the fact that each only if y…S† is a local maximizer of …LP†. Thus
vertex of the feasible region can be represented by each local maximizer of …Nÿ † is also a global
a spanning tree of the network. In addition, the maximizer and, since we have assumed that
complementary slackness theorem is exploited. In ST 6ˆ ;, there exists an optimal solution to …Nÿ †
what follows, we generalize and improve the ap- representing a vertex of ST .
proach by Grinold (1972) to the net present value Following the principal idea of the network
problem on activity-on-node networks with gen- simplex method (Ahuja et al., 1993), we represent
eral temporal constraints. the vertices of ST (and hence of SLP † by directed
First we transform problem …Nÿ † into a linear spanning trees T ˆ hV ; E…T †i with node set V and
program. To do so, we take account of constraint arc set E…T †. Each of the n ‡ 1 arcs of E…T † cor-
Sn‡1 6 d by introducing an arc hn ‡ 1; 0i with responds to a binding constraint of …Nÿ † and
weight dn‡1;0 :ˆ ÿd, which gives the new arc set …LP†, and the n dual variables xij corresponding
e :ˆ E [ fhn ‡ 1; 0ig of the project network.
E to arcs hi; ji 2 E…T † form a basis B of …DP†. Due
Then, in analogy to Grinold (1972), it can be to the complementary slackness conditions, span-
shown that …Nÿ † is equivalent to the problem ning tree T represents an optimal solution to …Nÿ †
(and hence to …LP†) if for the corresponding
P
n‡1
vector of basic variables xB of …DP† given by
max: cFi yi
iˆ0
…LP† X X
s:t: yj Kij ÿ yi 6 0; e
hi; ji 2 E; Kji xji ÿ xij ˆ cFi ; i 2 V n f0g;
y0 ˆ 1; hj;ii2E…T † hi;ji2E…T †

with feasible region SLP where yi :ˆ bSi ‡pi and it holds that xB P 0.
e
Kij :ˆ bÿ…dij ÿpi ‡pj † ; for all i 2 V n f0g and hi; ji 2 E. Given a stable schedule S representing a vertex
The dual program …DP† of …LP† with m ‡ 1 of ST and the corresponding spanning tree
variables xij corresponding to the jEj ‡ 1 arcs T :ˆ hV ; E…T †i, xB can be computed observing
e (i.e., inequalities of …LP†) can be written
hi; ji 2 E xij ˆ wij =yi for all hi; ji 2 E…T †, where the wij are a
as follows: solution of
P P X X
min: cF0 ‡ x0j ÿ Kh0 xh0 wji ÿ wij ˆ cFi yi ; i 2 V n f0g: …4†
j2Succ…0† h2Pred…0†
P P hj;ii2E…T † hi;ji2E…T †
s:t: Kji xji ÿ xij ˆ cFi ; i 2 V n f0g;
hj;ii2E hi;ji2E The system of equations (4) can be solved in
xij P 0; e
hi; ji 2 E; O…jV j† time. Since all yi …i ˆ 1; . . . ; n ‡ 1† are
…DP† positive, xij is negative exactly if wij is negative.
Thus, we determine the quantities wij by solving
where the objective function considers the con- (4) in order to examine whether the underlying
straint corresponding to node 0, and the sets of the spanning tree T is optimal. If at least one wij is
immediate successors and immediate predecessors negative (i.e., T is not optimal), we determine the
of node i in the project network are denoted by smallest wij (hi; ji 2 E…T †), say whl , and delete the
Succ…i† and Pred…i†, respectively. corresponding arc hh; li from E…T † (i.e., the cor-
Given a schedule S 2 ST , the corresponding responding constraint of …LP† is no longer
vector …y0 ; . . . ; yn‡1 †T is denoted by y…S†. Since a binding). We obtain two subtrees T1 ˆ hV1 ; E…T1 †i
restriction of …Nÿ † is binding for schedule S if and and T2 ˆ hV1 ; E…T2 †i with V1 [ V2 ˆ V , 0 2 V1 , and
only if the corresponding restriction of …LP† is shift the activities of subtree T2 until a new con-
binding for y…S†, S is a vertex of the feasible region straint becomes binding. This means that if the
ST of …Nÿ † if and only if y…S† is a vertex of SLP . vertex S represented by T is nondegenerated, we
Moreover, because of the continuity of the bijec- move to an adjacent vertex S 0 with one di€erent
n‡2
tive mapping y : ST !Š0; 1Š , it holds that binding constraint.
430 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

If the initial node h of arc hh; li deleted belongs 4. Branch-and-bound and truncated branch-and-
to set V1 , the activities corresponding to the nodes bound procedures for (Rÿ ) and (R‡ )
of subtree T2 can only be right-shifted. Since
all constraints corresponding to the arcs of E…T2 † We sketch a time-window-based branch-and-
remain binding, the start time of each activity bound procedure, where we enumerate the feasible
belonging to set V2 is increased by start times of the activities. This algorithm can be
used for all leveling objective functions (A)±(C3)
D :ˆ minfSj ÿ Si ÿ dij j i 2 V2 ; introduced in Section 2.
e n E…T †g:
j 2 V1 ; hi; ji 2 E First we deal with …Rÿ †. Let I be a problem
instance of …Rÿ †. The basic idea of the branch-and-
bound procedure is to reduce the set of feasible
If h 2 V2 , the activities corresponding to the nodes
solutions of I by successively scheduling activities.
of subtree T2 can only be left-shifted and the start
Each node p of the enumeration tree represents a
time of each activity belonging to set V2 is de- p p
partial schedule S C ˆ …SiC †i2Cp and thus an in-
creased by p
stance I with additional temporal constraints
p
Si ˆ SiC for all scheduled activities i 2 Cp . The set
D :ˆ maxfSi ‡ dij ÿ Sj j i 2 V1 ;
of all feasible schedules S of I p is denoted by Sp .
e n E…T †g:
j 2 V2 ; hi; ji 2 E Each leaf of the enumeration tree represents a
feasible schedule S and the root of the tree corre-
In either case we can compute D in O…jEj† time and sponds to the partial schedule given by S0 ˆ 0.
the new schedule S 0 is given by Sj0 ˆ Sj for j 2 V1 The children of node p are obtained by sched-
and Si0 ˆ Si ‡ D for i 2 V2 . uling an activity j 2 V n Cp at one of its feasible
p p
Suppose that the new binding constraint cor- start times t 2 fESjC ; . . . ; LSjC g, where because of
responds to arc hr; si. Then the spanning tree temporal constraints (1)
representing S 0 is given by T 0 :ˆ hV ; E…T † n fhk; lig  
[fhr; sigi. The improvement in the net present p ÿ Cp 
ESjC :ˆ max d0j ; max S ‡ dij ;
value from S to S 0 is given by p
i2C
i

  
…bD ÿ 1†whl if h 2 V1 ; p ÿ Cp 
LSjC :ˆ min d ÿ dj;n‡1 ; minp Si ÿ dji :
ÿ…bD ÿ 1†whl otherwise: i2C

Notice that for h 2 V1 , the net present value of If there exist more than one unscheduled activity,
activity set V2 is negative. Thus, V2 should be we choose the activity with minimum total ¯oat
p p p
scheduled as late as possible. For h 2 V2 , the net TFjC ˆ LSjC ÿ ESjC , where ties are broken on the
present value of activity set V2 is positive and V2 basis of increasing activity numbers.
should be scheduled as early as possible. Algo- In order to determine the node p to be consid-
rithm 1 (Fig. 1) summarizes the determination of ered next, we use a combined depth-®rst- and
an optimal solution to …Nÿ †. least-lower-bound-search. After each branching
In Step 1 of Algorithm 1 we determine either step we investigate the node with minimum lower
the earliest start schedule ES in O…jV jjEj† time bound among all nodes newly generated. Notice
by a label-correcting algorithm, where we right- that whenever node p can be fathomed, the same
shift all sinks of the corresponding spanning tree holds for all brothers of p.
with negative cash ¯ow as far as possible, or a For the fathoming process of node p we use a
p
stable schedule S by Procedure 1 (Fig. 2) (which workload-based lower bound LB…S C † which de-
is generally ``better'' than ES). Due to the de- pends on the underlying objective function. For
termination of the matrix of longest path so-called r-monotonous objective functions (i.e.,
lengths, the time complexity of Procedure 1 is f …R…S†† 6 f …R…S 0 †† if rk …S; t† 6 rk …S 0 ; t† for all
3
O…jV j †. k 2 R and t 2 T), which include functions (A),
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 431

Fig. 1. Algorithm 1.

Fig. 2. Procedure 1.

p p
X
(B1), and (B3), we compute LB…S C † by increasing rknc …S C ; t† :ˆ rik ; k 2 R; t 2 T;
p
the resource pro®les rk …S C ; † (k 2 R) according to p p
i2V :LSiC 6 t<ESiC ‡pi
the following two steps:
p p
Step 1. Let Z  V n Cp such that ‰ESjC ; LCjC ‰ p p p
p p where ESiC ˆ LSiC ˆ SiC for all i 2 C p . Moreover,
\ ‰EShC ; LChC ‰ˆ ; for all j; h 2 Z, j 6ˆ h. Let
p let
R :ˆ …rknc …S C ; t††k2R;t2T be the resource utilization
matrix of the activities already scheduled taking
into account the unavoidable resource utilization f p …R; j; Sj † :ˆ f …R0 † ÿ f …R†
of the near-critical activities h 2 C (where activity i
p p
is called near-critical if ‰LSiC ; ESiC ‡ pi ‰ 6ˆ ;, cf. be the additional cost incurred when activity j is
Neumann and Zimmermann, 1999b). The ele- scheduled at time Sj given resource matrix R,
ments of R are given by where matrix R0 is given by
432 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
8
> p
< rknc …S C ; t† ‡ rjk rkZ …t † ˆ min rkZ …t†:
t2T
0 Cp p p
rk …S ; t† ˆ if t 2 ‰Sj ; Sj ‡ pj ‰n‰LSjC ; ESjC ‡ pj ‰
>
: r …S ; t† otherwise:
nc Cp
k The resulting resource pro®les are denoted by
rkW …† and the corresponding utilization matrix is
for k 2 R; t 2 T: denoted by RW , where it holds that rkW …t† 6 rk …S; t†
By scheduling each activity j 2 Z at a point in for all schedules S 2 Sp , k 2 R, and t 2 T. Thus,
p
p
time Sj that minimizes f p …R; j; † on fESjC ; . . . ; LB…S C † :ˆ f …RW † is a lower bound on the optimal
Cp Z
LSj g, we obtain the resource pro®les rk …†. Since objective function value for I p .
there are no two activities i; j 2 Z which can be Lower bounds for (C1) and (C3) can be found
carried out simultaneously, it follows that in Zimmermann and Engelhardt (1998).
rkZ …t† 6 rk …S; t† for all schedules S 2 Sp , k 2 R, and Algorithm 2 (Fig. 3) gives the branch-and-
t 2 T. bound procedure for …Rÿ † in pseudocode. For
Step 2. Let V^ :ˆ V n …Cp [ Z† be the set of the simplicity, each node p of the enumeration tree is
unscheduled activities after Step 1 and represented by its corresponding partial schedule
p
S C . The set of nodes not yet investigated is de-
X noted by M, S  represents the best schedule known
Wk …V^ † :ˆ ph rhk thus far, and upperBound is the corresponding
h2V^
objective function value.
Obviously, the performance of Algorithm 2
be the remaining workload of the activities h 2 V^ , depends markedly on the size of the time intervals
p p
where ph :ˆ LShC ÿ EShC for each near-critical ac- ‰ESi ; LSi Š for activities i 2 V and therefore implic-
tivity h 2 V^ and ph :ˆ ph , otherwise. We take the itly on the minimum and maximum time lags and
workload Wk …V^ † into consideration by successively the prescribed maximum project duration d.
increasing the resource pro®les rkZ …† Wk …V^ † times Algorithm 2 can easily be adapted to …R‡ † as
by one unit at points in time t for which it holds follows (this modi®cation is termed Algorithm 2‡ ).
that For scheduling an activity j, we consider only points

Fig. 3. Algorithm 2.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 433

p p
in time t 2 fESjC ; . . . ; LSjC g such that activity j can The ®rst approach is based on the well-known
be started without violating the resource con- contraction method (Franck, 1999) and is denoted
straints. Thus, from an enumeration point of view, as Algorithm Contraction in what follows. The
…R‡ † is easier than …Rÿ † because the resource con- second approach uses the concepts of feasible de-
straints allow certain points in time to be ruled out cision points and unscheduling of activities and is
immediately. Moreover, we can speed up the pro- denoted as Algorithm Unschedule in what follows.
cedure by using so-called preprocessing procedures We now propose a new heuristic approach
(De Reyck, 1998; Schwindt, 1998b). Based on ®rst which can generally be used to transform a time-
the examination of resource con¯icts induced by feasible schedule S 2 ST which is not resource-
two activities and second on the workload of time feasible into a feasible schedule S 0 2 S. For net
intervals, additional precedence and temporal con- present value problems we can determine an time-
straints can be introduced which reduce the number feasible schedule by Algorithm 1. For resource
of feasible solutions to be investigated. leveling problems we determine a time-feasible
Since …Rÿ † and …R‡ † are NP-hard in the strong schedule by scheduling the activities successively
sense, exact methods are generally not appropriate where all critical activities j are scheduled imme-
for large problem instances. Thus, in addition to diately (for details we refer to Neumann and
the exact solution procedure, a heuristic based on Zimmermann, 1999b). Let C be again the set of
so-called ®ltered beam search techniques can be scheduled activities, S C :ˆ …Si †i2C be the corre-
derived from Algorithm 2. This truncated branch- sponding partial schedule, and C :ˆ V n C be the
and-bound procedure restricts the number of chil- set of unscheduled activities. Then the activity to
dren of an enumeration node to a so-called beam be scheduled next is an activity j 2 C with highest
width B. Only the B most promising nodes are se- priority, i.e., p…j† ˆ exti2C p…i†, where p…i† is the
lected as nodes to branch from and the remaining priority value of activity i and ext 2 fmin; maxg.
nodes are discarded permanently. To do so, for all The following priority rules have turned out to be
child nodes, we ®rst determine a simple lower expedient:
bound LBF (e.g., f …R† for r-monotonous objective
functions). Then, for the F child nodes with MST rule (Minimum Slack Time), i.e.,
smallest value of LBF, where F P B is a prescribed
®lter width, tighter lower bounds LBB (e.g., extp…i† ˆ min TFiC :
p i2C i2C
LB…S C † for r-monotonous objective functions) are
computed. The B children with smallest value of MSO rule (Minimum number of activities be-
LBB are selected for further enumeration. Since the fore the activity selected w.r.t. Strict Order †;
number of enumeration nodes exponentially i.e.,

increases in beam width B, we choose B to be extp…i† ˆ min fh 2 Cjh  ig ;
random with expected value between 1 and 2. i2C i2C

Moreover, based on experimental investigations, where strict order  in set V is de®ned as fol-
we choose F ˆ 30. Since the lower bounds used do lows: i0  j0 for i0 ; j0 2 V , i0 6ˆ j0 , exactly if
not necessarily lead to a ``good'' solution when di0 j0 > 0 or if di0 j0 ˆ 0 and dj0 i0 < 0.
only few activities have been scheduled, we employ
a larger beam width B0 :ˆ 2B for the ®rst 10 levels GRD rule (Greatest Resource Demand), i.e.,
of the enumeration tree. X
extp…i† ˆ max pi rik :
i2C i2C k2R
‡
5. Schedule construction procedures for (R ) and GRDP rule (Greatest Resource Demand per Pe-
(N ‡ ) riod), i.e.,
X
In Neumann and Zimmermann (1999b) two extp…i† ˆ max rik :
heuristic procedures for …R‡ † have been discussed. i2C i2C k2R
434 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

In practice we mostly use priority-rule combina- D2j …S C † :ˆ …Tj \ CT†[


tions. For example, GRD±MST means that the
ft 2 Tj j…t ‡ pj † 2 STg [ fESjC ; LSjC g
activity to be scheduled next is the activity with
greatest resource demand, where ties are broken is the decision set for objective functions of type
®rst on the basis of nondecreasing total ¯oats and 2. Since each activity j is scheduled at times ESj or
second on increasing activity numbers. Since no LSj , at a point in time where an activity i 2 C is
priority rule or priority-rule combination domi- terminated, or at a time t such that the comple-
nate all others, a priority-rule based heuristic is tion time Cj coincides with the start time Si of an
often performed several times (multi pass, cf. activity i 2 C, the constructed schedules are
Kolisch, 1995) with di€erent priority rules or pri- quasistable. Let M :ˆ …Tj \ D…R†† [ ft 2 Tj j
ority values randomly changed. t ‡ pj 2 D…R†g [ fESjC ; LSjC g be the set of points
Next we determine a minimizer Sj‡ of cost in time t 2 Tj for which it holds that activity j
function f p …R; j; † on Tj :ˆ fESjC ; . . . ; LSjC g. To starts or ends at a jump discontinuity of at least
do so, we compute a so-called decision set Dmj …S C †, one resource pro®le, if j is scheduled at time t.
i.e., a subset of Tj which contains at least one Then
minimizer of f p …R; j; † on Tj and where jDmj …S C †j
is linear in n. Decision set Dmj …S C † depends on the D3j …S C † :ˆ M [ fminft 2 Tj j t 62 Mgg
type m …m ˆ 1; 2; 3† of the objective function. Type 1
comprises objective function (A), type 2 objective is the decision set for objective functions of type 3
functions (B1), (B2), (B3), (C1) and (C2), and type (Neumann and Zimmermann, 1999b). Procedure 2
3 objective function (C3). Let D…R…S C †† be the set (Fig. 4) summarizes the determination of a time-
of all jump discontinuities of the resource pro®les feasible schedule for …R‡ †.
rk …S C ; † and ST (CT) be the set of points in time Given a time-feasible schedule S which is not
at which at least one activity i 2 C is started resource-feasible, we now successively determine
(completed). Then we have for objective functions the smallest point in time t at which the resource
of type 1 capacities are exceeded and shift activities which
cause the resource con¯ict at time t. To do so, we
D1j …S C † :ˆ …Tj \ CT† [ fESjC g: determine the set of activities A…S; t† given by (2).
We consider in turn all i 2 A…S; t† and corre-
Since each activity j is scheduled at its earliest start sponding times ti 2 fESi ; . . . ; t ÿ pi g[ ft ‡ 1; . . . ;
time ESj or at a point in time where an activity LSi g, and examine successively whether one of the
i 2 C is terminated, no set of activities can be following three conditions (i), (ii) or (iii) will be
plainly left-shifted in the schedules constructed. satis®ed if we shift the start time of activity i from
This means that the resulting schedules are quasi- Si to ti . Here, Reach…i† denotes the set of nodes in
active. the project network from which node i can be

Fig. 4. Procedure 2.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 435

reached and Reach…i† denotes the set of nodes 6. Schedule improvement procedures for (Rÿ ) and
reachable from node i, including i itself. (R‡ )
(i) The con¯ict at time t is resolved and
S 0 :ˆ …0; S1 ; . . . ; Siÿ1 ; ti ; Si‡1 ; . . . ; Sn‡1 † meets con- In this section we devise a tabu search approach
straints (1) and rk …S 0 ; s† 6 Rk (for all s 2 fti ; . . . ; ti ‡ for …Rÿ † and …R‡ †. The proposed procedure ex-
pi ÿ 1g and k 2 R†. ploits the fact that the principal goal of resource
(ii) The resource con¯ict at time t is resolved, leveling is to utilize the underlying resources evenly
and all j 2 Reach…i† [ Reach…i† can be left- or over time. Therefore, we determine the peaks of
right-shifted such that constraints (1) are met and the di€erent resource pro®les rk …S; †, k 2 R, and
the resource constraints are satis®ed at all points in shift activities such that at least one of the resource
time where the shifted activities are in execution. peaks is reduced (Wiest and Levy, 1969). For the
(iii) The resource con¯ict at time t is reduced basic concepts of tabu search used in what follows,
(i.e., rk …S; t† > rk …S 0 ; t† for at least one k 2 R with we refer to Glover and Laguna (1997).
rk …S; t† > Rk ) and all j 2 Reach…i† [ Reach…i† can be First we deal with …Rÿ †. Let N …S† be the set of
left- or right-shifted such that constraints (1) are schedules S 0 we obtain from the given schedule S as
met and no new resource con¯ict results. follows: Replace the start time Si of any activity
Note that condition (i) implies (ii) and (ii) im- i 2 V by a point in time t 2 fESi ; . . . ; LSi g n fSi g. If
plies (iii). If for an activity i 2 A…S; t†, condition (i) t > Si , we update the start times of all activities
is not ful®lled for any possible start time ti , we j 2 Reach…i†: Sj0 ˆ max…Sj ; t ‡ dij †. If t < Si , we up-
proceed to another activity from A…S; t†. When date the start times of all activities h 2 Reach…i†:
condition (i) is not satis®ed for any i 2 A…S; t† and Sh0 ˆ min…Sh ; t ÿ dhi †. The neighbor S 0 of S which
all corresponding possible start times ti , we go on results from S by setting Si0 :ˆ t is denoted by
with condition (ii), etc. If at least condition (iii) is S…i; t†.
ful®lled for some i 2 A…S; t† and a corresponding Following the principal idea of tabu search, we
start time ti , we shift the start of activity i from Si repeatedly move from the current schedule S to a
to ti and again determine the smallest point in time schedule S  2 N …S† with minimum objective func-
t at which the resource capacities are exceeded. tion value. Moreover, the schedule S min with the
Algorithm 3 (Figs. 5±7) summarizes the heu- smallest objective function value found thus far is
ristic procedure for …R‡ † and …N‡ † where Steps 3± stored. Since for large problem instances (with
5 of Algorithm 3 correspond to conditions (i), (ii), more than 50 activities) it is too time-consuming to
and (iii), respectively. In procedure Recursivefor- scan the whole neighborhood N …S†, we reduce the
ward we have rep ˆ false if for some h 2 Reach…j†, cardinality of neighborhood N …S† to a prescribed
no resource-feasible start time has been found number CAND of promising candidates. Let
where j is the current activity. Notice that in Step
5, the resource constraints are only examined at Pk …S† :ˆ ft 2 T j rk …S; t† P g max rk …S; s†g; k 2 R;
points in time where activity j is in execution w.r.t. s2T

schedule S 0 but not w.r.t. schedule S.


The time complexity be the set of peak times of the current resource
P of Algorithm 3 is
O…jV j maxi2V …LSi ÿ ESi † i2V pi †. However, an ex- pro®les where g 2 ‰0:8; 1Š is a control parameter of
perimental performance analysis has shown that the tabu search procedure. Then we determine the
even problem instances with 500 activities can be set of promising candidates C…S†  N …S† by enu-
handled within a few seconds. Again, the perfor- merating neighbors S…i; t† of S until we have found
mance of the procedure can be increased using CAND neighbors of S which meet the following
preprocessing procedures (see Section 4). Loosely two conditions:
speaking, Algorithm 3 strives to ``repair'' a (i) It holds that t 2 Dmi …S V nfig † where Dmi depends
schedule which is time-feasible but not resource- on the type m of the underlying objective function
feasible. Therefore, we denote Algorithm 3 as and where we choose Ti ˆ fd0i ; . . . ; d ÿ di;n‡1 g (cf.
Algorithm Repair in what follows. Section 5).
436 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

(ii) There is at least one resource k 2 R and at Condition (i) reduces the set of possible start
least one peak time s 2 Pk …S† for which it holds times for activity i to points in time such that at the
that rk …S…i; t†; s† < rk …S; s†. start or termination of activity i there is at least

Fig. 5. Algorithm 3.

Fig. 6. Procedure 3.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 437

Fig. 7. Procedure 4.

one di€erent activity which is terminated or start- use the following intensi®cation and diversi®cation
ed, respectively. Condition (ii) ensures that at least methods.
one peak of the resource pro®les rk …S; †, k 2 R, is For intensi®cation, we always store the set EL
reduced. (elite set) of the 10 solutions with smallest objec-
In order to avoid that a peak for resource k at tive function value determined since the last
time t recently reduced is increased again, all intensi®cation step (short-term memory). An
neighbors S 0 of S with rk …S 0 ; t† > rk …S; t† get tabu intensi®cation step is then as follows. First we
status. To do so, we always store the last TL (tabu compute the best solution S EL 2 EL and the set V EL
list length) peak times t1 ; . . . ; tTL at which the of activities i 2 V which possess the same start
resource utilization has been reduced and the time Si in all schedules S 2 EL. Emanating from
corresponding resources k1 ; . . . ; kTL (short-term schedule S EL , we determine C…S EL † by shifting only
memory). Here, we use a dynamic tabu list with activities i 2 V n V EL . This means that we consider
minimum length of 10 and maximum length of 50, only neighbors S…i; t† with i 2 V n V EL and
which dynamically increases in the number of steps 
since the current best solution S min has been found. t 2 max…ESi ; max‰Sj ‡ dji Š†; . . . ;
Algorithm 4 (Fig. 8) summarizes the procedure for j2V EL

the determination of C…S†.
Since the proposed tabu conditions may ex- min…LSi ; minEL
‰Sj ÿ dij Š† :
j2V
clude attractive new solutions, we cancel the tabu
status of a neighbor S 0 of the current schedule S if For diversi®cation, for each activity i 2 V we
S 0 represents a new best solution (aspiration crite- store the value ai which indicates how often the
rion). In order to improve the search process we start time of activity i has been altered during the

Fig. 8. Algorithm 4.
438 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

previous search process (long-term memory). In ble PC 486/50 running Windows 95 (which is
addition, for each activity i 2 V we store a start signi®cantly slower than the Pentium 60). All
time interval Ai  Ti which has been neglected procedures have been coded in ANSI C.
thus far. A diversi®cation step is then as follows.
First we determine the set V d containing the bn=2c
activities i 2 V with smallest values ai . Emanating 7.1. Benchmark test sets
from the current schedule S, we then determine
C…S† by successively shifting the start times Si of We consider three test sets: test sets A and B
activities i 2 V d to points in time t 2 Ai . Further- proposed in Neumann and Zimmermann (1999b)
more, we reverse the enumeration of t, i.e., we and test set C proposed by De Reyck (Set III in De
enumerate t from TF to 0 in Step 2 of Algorithm 4. Reyck, 1998), which have been generated by the
During the search process, we alternately per- problem generator ProGen/max (Schwindt, 1998a).
form 10 diversi®cation steps and 5 intensi®cation Test set A contains 270 instances of problem …R‡ †
steps if in more than 20 iteration steps, no new best with 10, 15, and 20 real activities and 1, 3, and 5
solution has been found. The search process is di€erent resources. Test set B contains 270
stopped if a prescribed computing time is exceeded instances of problems …R‡ † and …N‡ † with 100,
or if the candidate set of the current schedule is 200, and 500 real activities and 1, 3, and 5 di€erent
empty even if the tabu status of all neighbors is resources. Finally, test set C contains 7200
ignored. The tabu search procedure for …Rÿ † ob- instances of …R‡ † with 10, 20, 30, 50, and 100
tained by extending the standard tabu search ap- activities and between 1 and 5 di€erent resources.
proach by the described candidate set, tabu status, The activity durations pi are uniformly chosen
aspiration criterion, intensi®cation, diversi®cation, from f1; 2; . . . ; 10g and the restrictiveness (order
and stopping condition is denoted by Algorithm strength) is 0.25, 0.5, or 0.75.
TS in what follows. The resource capacities Rk for problem sets A
For …R‡ † we modify the tabu search procedure, and B are determined such that the resource
which is then denoted by Algorithm TS ‡ , as fol- strength which measures the scarcity of resources
lows: is equal to 0:2 (a de®nition of the well-known
(i) A feasible solution S min is only replaced by a control parameters restrictiveness and resource
better feasible solution. strength can be found in Schwindt, 1998a). For the
(ii) To ®nd S  2 C…S†, the objective function prescribed maximum project duration d, we
value of an P infeasiblePschedule S is enlarged by choose for the problem instances of test sets A and
‡ 2
penalty cost k2R ck t2T ‰…rk …S; t† ÿ Rk † Š . B three di€erent values: d 1:0 ˆ d0;n‡1 , d 1:1 ˆ
(iii) After 20 iteration steps without ®nding a 1:1 d0;n‡1 , and d 1:25 ˆ 1:25 d0;n‡1 , and for test set C
schedule which meets the resource constraints, the we choose
set of peak times is reduced to points in time t  
where at least one resource restriction is violated X
e
d ˆ d :ˆ max pi ; max dij :
w.r.t. the current schedule. i2V
j2Succ…i†

7. Experimental performance analysis 7.2. Results for (Nÿ †

In this section, we brie¯y discuss the perfor- First we deal with problem …Nÿ † and test sets
mance of Algorithms 1±4. For the experimental B and C where the resource data of the problem
tests we have used an IBM-compatible PC with a instances are omitted. The cash ¯ows are gener-
Pentium 200 processor running NT 4.0. For the ated randomly from a uniform distribution on
comparison of Algorithm 1 with the recursive fÿ500; . . . ; 500g and a discount rate of b ˆ 0:99.
search procedure by De Reyck (1998) who used a Table 1 shows the average CPU times in millisec-
Pentium 60, we have employed an IBM-compati- onds as well as the average number of iterations
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 439

for solving a problem instance of test set B by 7.3. Results for …Rÿ † and …R‡ †
Algorithm 1 depending on the number n of real
activities. We consider two versions of Algorithm 1 We now deal with problems …Rÿ † and …R‡ †
depending on which schedule is determined in where objective functions (A), (B3), and (C3) are
Step 1: Algorithm 1ES uses the earliest start considered (for objective functions (B1), (B2),
schedule ES and Algorithm 1S uses a stable (C1), and (C2) we obtain similar results). For each
schedule S found by Procedure 1. problem instance of test set A and d 1:1 , we compute
We see that even problem instances with 500 an optimal solution for problems …Rÿ † and …R‡ †
activities can be solved in less than 1 second. Be- using Algorithms 2 and 2‡ , respectively, or show
cause of the determination of the longest path for the respective instance of problem …R‡ † that
lengths dij , the running time of Algorithm 1S is the feasible region is empty. Table 3 gives the
much larger than that of Algorithm 1ES although percentage of problem instances which can be
the average number of iterations is signi®cantly solved by Algorithms 2 and 2‡ in 10 and 100
smaller. seconds for objective functions (A), (B3), and (C3).
Next we compare the recursive search proce- We see that due to tighter lower bounds, the
dure by De Reyck (1998) (Algorithm De Reyck) performance of Algorithm 2 is much better for the
with Algorithms 1ES and 1S on test set C. Table 2 r-monotonous objective functions (A) and (B3)
shows the average CPU time (in milliseconds) for than for objective function (C3). Resource con-
Algorithms 1ES and 1S as well as the times given straints permit us to reduce signi®cantly the size of
in De Reyck (1998) for test set C depending on n. the enumeration tree to be investigated. Thus, the
We see that Algorithms 1ES and 1S clearly performance of Algorithm 2‡ for problem …R‡ † is
outperform the procedure by De Reyck (1998). better than the performance of Algorithm 2 for
The poor performance of De Reyck's method is problem …Rÿ †.
caused by several reasons, in particular: Next, we investigate the performance of the
1. the computation of the matrix of longest path three schedule construction procedures Algorithm
lengths dij is very time-consuming and has no Contraction, Algorithm Unschedule, and Algo-
positive e€ect, rithm Repair for problem …R‡ † (cf. Section 5).
2. a large number of iterations (of the modi®ed Table 4 shows the percentage of problem instances
simplex method) is performed without much from test set A with nonempty feasible region
bene®t (only transformation of the basis), which can be solved to feasibility for d 1:1 . It turns
3. the average number of activities right-shifted out to be best to choose Algorithm Repair for all
per iteration is relatively small. three objective functions considered.
To improve the results obtained by priority-rule
Table 1 based heuristics for problems …Rÿ † and …R‡ †, we
Average CPU time (in milliseconds)/average number of itera- apply the tabu search heuristics Algorithm TS and
tion for Algorithms 1ES and 1S, problem …Nÿ †, test set B, and Algorithm TS‡ , respectively. For Algorithm TS we
d 1:25 use the control parameters CAND ˆ 100 and
n 100 200 500 g ˆ 0:9 and a running time of 3 seconds. The
Alg. 1ES 17.0/24.9 48.4/60.7 250.4/94.5 priority-rule combinations employed in Procedure
Alg. 1S 21.9/9.6 117.8/20.6 843.4/40.1 2 are MSO±MST, MST±GRD, and GRDP±MST
for objective functions (A), (B3), and (C3), re-
Table 2 spectively. For each instance I of test set A and
Average CPU time (in milliseconds), for Algorithms 1ES, 1S, each heuristic H 2 fProc: 21 ; Proc: 210 ; Alg: TSg,
and DeReyck, problem …Nÿ †, test set C, and e
d we compute Dopt opt opt
I …H † :ˆ …fI …H † ÿ fI †=fI , i.e.,
n 10 20 30 50 100 the relative deviation of the objective function
Alg. 1ES 1 5 9 18 53 value for the schedule found by heuristic H from
Alg. 1S 2 7 16 62 228 the minimum objective function value. Here,
Alg. DeReyck 1 6 17 137 836
Proc: 2j means that we choose the best schedule of
440 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

Table 3
Percentage of instances from test set A for problems …Rÿ † and …R‡ † solved by Algorithms 2 and 2‡ , respectively, given d 1:1
n (A) (B3) (C3)
10 15 20 10 15 20 10 15 20
ÿ
…R † 10 s 100 98.0 94.4 97.8 78.9 34.4 92.2 37.8 8.9
100 s 100 99.2 97.8 100 92.2 63.3 97.8 60.0 17.6
…R‡ † 10 s 100 100 100 100 92.3 81.8 96.1 88.8 73.3
100 s 100 100 100 100 100 97.0 98.9 93.3 77.7

Table 4 and 93% for objective functions (A), (B3), and


Percentage of instances from test set A solved to feasibility by (C3), respectively (compare Table 4 for Algorithm
Algorithms Contraction, Unschedule, and Repair for problem Repair).
…R‡ † and d 1:1
To examine the performance of the tabu
(A) (B3) (C3) search approach for large instances, we compare
Alg. Contraction 60 69 53 it for problem …Rÿ † with objective function (A),
Alg. Unschedule 65 76 64 with the ®ltered beam search modi®cation of
Alg. Repair 84 87 81
Algorithm 2 (denoted by Algorithm FB1) and a
®ltered beam search procedure (denoted by Al-
gorithm FB2) based on the branch-and-bound
j passes of (schedule construction) Procedure 2 procedure for the resource investment problem
where the priority values are randomly changed devised by N ubel (1998). To do so, we measure
(multiplied by a random number uniformly dis- the accuracy of a schedule for the 90 problem
tributed on [0.8,1.2], cf. (Franck, 1999). Table 5 instances I from test set B with 500 activities
shows the average relative deviation (denoted as B500 ) found by heuristic H by the
``relative error''
1 X opt
Dopt …H † :ˆ D …H †
jAj I2A I fI …H † ÿ fI
I …H † :ˆ ;
fI
for H 2 fProc: 21 ; Proc: 210 ; Alg: TSg depending
on d. where fI …H † is the objective function value for
We see from Table 5 that the average relative problem instance I computed by heuristic
deviation can be decreased signi®cantly using tabu H 2 fAlg: TS; Alg: FB1; Alg: FB2g and fI is the
search. If we employ the tabu search procedure smallest objective function value found by any of
TS‡ for problem …R‡ †, the percentage of problem the three heuristics applied to I.
instances of test set A which can be solved to
feasibility increases compared to Algorithm Re- 1 X
pair. In particular, the percentage of instances …H † :ˆ I …H †
jB 500 j I2B
from A solved to feasibility for d 1:1 is 98%, 97%, 500

Table 5
Dopt ÿ
I …H † for test set A solved by schedule construction and improvement procedures for …R †

(A) (B3) (C3)


d 1:0 d 1:1 d 1:25 d 1:0 d 1:1 d 1:25 d 1:0 d 1:1 d 1:25
Proc. 21 0.10 0.26 0.29 0.04 0.08 0.14 0.25 0.30 0.52
Proc. 210 0.06 0.13 0.22 0.02 0.04 0.07 0.16 0.20 0.32
Alg. TS 0.00 0.01 0.03 0.00 0.00 0.01 0.09 0.08 0.09
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 441

Table 6
Comparison of heuristics procedures Algorithm TS, FB1, and FB2 for test set B500 and problem …Rÿ †
Alg. d 1:0 d 1:1 d 1:25
TS FB1 FB2 TS FB1 FB2 TS FB1 FB2
mbest 80 10 8 78 8 6 77 10 5
…H† 0.00 0.15 0.16 0.01 0.17 0.18 0.01 0.17 0.22
max …H † 0.07 0.45 0.79 0.15 0.51 1.00 0.31 0.49 1.25

is called the quality of heuristic H (Brinkmann and solved to optimality within 100 seconds. As
Neumann, 1996) for test set B 500 . Table 6 shows heuristic methods are concerned, more than 80%
…H † for H 2 fAlg: TS; Alg: FB1; Alg: FB2g, the of the instances of …R‡ † have been solved to
number mbest of instances for which heuristic H feasibility in less than 1 second by a priority-rule
yields the best (i.e., smallest) objective func- based schedule construction procedure, which
tion value, and the maximum ``relative error'' outperforms the heuristics devised in Neumann
max …H † :ˆ maxI2B500 I …H † of heuristic H for a and Zimmermann (1999b). For small instances of
computing time of 100 s depending on d. We see …Rÿ †, the average relative deviation of the objec-
that the tabu search approach generally outper- tive function value for the schedules determined
forms both ®ltered beam search procedures. from the minimum function value ranges between
In summary, for problem …Rÿ † we recom- 2% and 32% depending on the objective function.
mend to use the tabu search approach. For For the improved schedules found by the tabu
small instances of problem …R‡ †, say with up to search method o€ered, the deviations are between
100 activities, we recommend to employ 0% and 9%. For large problem instances of …Rÿ †
the branch-and-bound or the truncated branch- with 500 activities, the tabu search approach out-
and-bound procedures. For larger problem in- performs both the truncated branch-and-bound
stances the heuristic Algorithm Repair should be procedure proposed in this paper and that one
used. derived from the branch-and-bound algorithm by
Nubel (1998).
Important areas of further research are a more
detailed empirical performance analysis taking
8. Conclusions
into account di€erent project parameters that
have a strong impact on the hardness of problem
We have presented exact and heuristic proce-
instances (Schwindt, 1998a) and the determina-
dures for the resource leveling and net present
tion of tight lower bounds on the minimum val-
value problems …Rÿ †, …R‡ †, and …Nÿ † as well as a
ues of di€erent types of objective functions for
heuristic procedure for …N‡ †. For …Rÿ † and …R‡ †,
…Rÿ † and …R‡ †. Moreover, an exact solution
several di€erent types of objective functions have
method for …N‡ † based on the exact solution
been discussed.
procedure for …Nÿ † proposed should be devel-
The exact procedure for …Nÿ † solves problem
oped.
instances with 500 activities within an average
computation time of less than 1 second and clearly
outperforms the recursive search procedure of De
Reyck (1998).
For the ®rst time, small instances of …Rÿ † and Acknowledgements
‡
…R † with up to 20 activities and ®ve resources
have been solved to optimality by a branch-and- This research has been supported in part by
bound procedure. Here, for problem …R‡ †, more the Deutsche Forschungsgemeinschaft (Grant Ne
than 97% of the instances considered have been 137/4).
442 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443

References Kolisch, R., 1995. Project Scheduling under Resource Con-


straints. Physica, Heidelberg.
Ahuja, H.N., 1976. Construction Performance Control by Meridith, J.R., Mantel Jr., S.J., 1995. Project Management: A
Networks. Wiley, New York. Managerial Approach. Wiley, New York.
Ahuja, R.K., Magnanti, T.L., Orlin, J.B., 1993. Network Moder, J.J., Phillips, C.R., 1970. Project Management with
Flows. Prentice-Hall, Englewood Cli€s, NJ. CPM and PERT. Van Nostrand Reinhold, New York.
Bandelloni, M., Tucci, M., Rinaldi, R., 1994. Optimal resource Moder, J.J., Phillips, C.R., Davis, E.W., 1983. Project Man-
leveling using non-serial dynamic programming. European agement with CPM PERT and Project Diagramming. Van
Journal of Operational Research 78, 162±177. Nostrand Reinhold, New York.
Bartusch, M., M ohring, R.H., Radermacher, F.J., 1988. Mohring, R.H., 1984. Minimizing costs of resource require-
Scheduling project networks with resource constraints ments in project networks subject to a ®xed completion
and time windows. Annals of Operations Research 16, time. Operations Research 32, 89±120.
201±240. Neumann, K., Zimmermann, J., 1999a. Heuristic methods for
`Brinkmann, K., Neumann, K., 1996. Heuristic procedures for resource-constrained project scheduling with regular and
resource-constrained project scheduling with minimal and nonregular objective functions and schedule-dependent
maximal time lags: The resource-levelling and minimum time windows. In: Weglarz, J. (Ed.), Project Scheduling:
project duration problems. Journal of Decision Systems 5, Recent Models, Algorithms, and Applications. Kluwer
129±155. Academic Publishers, Boston, pp. 261±287.
Demeulemeester, E., 1995. Minimizing resource availability Neumann, K., Zimmermann, J., 1999b. Resource levelling for
costs in time-limited project networks. Management Sci- projects with schedule-dependent time windows. European
ence 41, 1590±1598. Journal of Operational Research 117, 591±605.
De Reyck, B., 1998. Scheduling projects with generalized Neumann, K., N ubel, H., Schwindt, C., 2000. Active and stable
precedence relations: Exact and heuristic procedures. project scheduling. Mathematical Methods of Operations
Ph.D. Dissertation, Catholic University of Leuven. Research, to appear.
De Reyck, B., Herroelen, W., 1998. An optimal procedure Nubel, H., 1998. A branch-and-bound procedure for the
for the resource-constrained project scheduling prob- resource investment problem with generalized precedence
lem with discounted cash ¯ows and generalized prece- constraints. Technical Report WIOR-516, University of
dence relations. Computers and Operations Research 25, Karlsruhe.
1±17. Russell, A.H., 1970. Cash ¯ows in networks. Management
Easa, S.M., 1989. Resource leveling in construction by Science 16, 357±373.
optimization. Journal of Construction Engineering and Savin, D., Alkass, S., Fazio, P., 1996. Construction resource
Management 115, 302±316. levelling using neural networks. Canadian Journal of Civil
Franck, B., 1999. Priorit atsregelverfahren f
ur die res- Engineering 23, 917±925.
sourcenbeschrankte Projektplanung mit und ohne Kalen- Savin, D., Alkass, S., Fazio, P., 1997. A procedure for
der. Shaker, Aachen. calculating the weight-matrix of a neural network for
Glover, F., Laguna, M., 1997. Tabu Search. Kluwer Academic resource leveling. Advances in Engineering Software 28,
Publishers, Boston. 277±283.
Grinold, R.C., 1972. The payment scheduling problem. Naval Schwindt, C., 1998a. Generation of resource-constrained
Research Logistics Quarterly 19, 123±136. scheduling problems subject to temporal constraints.
Harris, R.B., 1978. Precedence and Arrow Networks for Technical Report WIOR-543, University of Karlsruhe,
Construction. Wiley, New York. European Journal of Operational Research, submitted.
Harris, R.B., 1990. Packing method for resource leveling Schwindt, C., 1998b. Verfahren zur L osung des res-
(pack). Journal of Construction Engineering and Manage- sourcenbeschr ankten Projektdauerminimierungs problems
ment 116, 39±43. mit planungsabh angigen Zeitfenstern. Shaker, Aachen.
Herroelen, W.S., Demeulemeester, E.L., Van Dommelen, P., Takamoto, M., Yamada, N., Kobayashi, Y., Nonaka, H., 1995.
1996. An optimal recursive search procedure for the Zero±one quadratic programming algorithm for resource
deterministic unconstrained max-npv project scheduling leveling of manufacturing process schedules. Systems and
problem. Research Report 9603, Department of Applied Computers in Japan 26, 68±76.
Economics, Catholic University of Leuven. Tavares, L.V., 1987. Optimal resource pro®les for program
Herroelen, W.S., Van Dommelen, P., Demeulemeester, E.L., scheduling. European Journal of Operational Research 29,
1997. Project network models with discounted cash ¯ows: 83±90.
A guided tour through recent developments. European Wiest, J.D., Levy, F.K., 1969. A Management Guide to PERT/
Journal of Operational Research 100, 97±121. CPM. Prentice-Hall, Englewood Cli€s, NJ.
Icmeli, O., Erengußc, S.S., 1996. A branch and bound procedure Yang, K.K., Tay, L.C., Sum, C.C., 1992. A comparison of
for the resource-constrained project scheduling problem stochastic scheduling rules for maximizing project net
with discounted cash ¯ows. Management Science 42, 1395± present value. European Journal of Operational Research
1408. 85, 327±339.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 443

Younis, M.A., Saad, B., 1996. Optimal resource leveling of Zimmermann, J., Engelhardt, H., 1998. Lower bounds and
multi-resource projects. Computers and Industrial Engi- exact algorithms for resource levelling problems. Technical
neering 31, 1±4. Report WIOR-517, University of Karlsruhe.

Anda mungkin juga menyukai