www.elsevier.com/locate/dsw
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 dierent 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
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 oered 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 oered 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 oer 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 sucient 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 dierent 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;n1 , 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 dierent 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; Sn1 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 t0
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;n1 : 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;n1 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-
Sn1 6 d by introducing an arc hn 1; 0i with responds to a binding constraint of
Nÿ and
weight dn1;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
n1
vector of basic variables xB of
DP given by
max: cFi yi
i0
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 ; . . . ; yn1 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 dierent
n2
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 ÿ 1whl if h 2 V1 ; p ÿ Cp
LSjC : min d ÿ dj;n1 ; minp Si ÿ dji :
ÿ
bD ÿ 1whl 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 ; tk2R;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 nLSjC ; 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
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 ; Si1 ; . . . ; Sn1 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 dierent 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; sg; k 2 R;
points in time where activity j is in execution w.r.t. s2T
(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 dierent 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 ; maxSj 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 dierent 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 dierent
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 dierent 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 dierent values: d 1:0 d0;n1 , d 1:1
(iii) After 20 iteration steps without ®nding a 1:1 d0;n1 , and d 1:25 1:25 d0;n1 , 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
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 eect, 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 5
Dopt ÿ
I
H for test set A solved by schedule construction and improvement procedures for
R
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 oered, 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 dierent 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 dierent types of objective functions for
heuristic procedure for
N . For
Rÿ and
R ,
Rÿ and
R . Moreover, an exact solution
several dierent 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
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.