Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General...
-
Upload
api-3707091 -
Category
Documents
-
view
187 -
download
1
Transcript of Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General...
![Page 1: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/1.jpg)
Procedures for resource leveling and net present value problems inproject scheduling with general temporal and resource constraints
K. Neumann *, J. Zimmermann
Institut f�ur 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
We consider scheduling problems with twodi�erent types of nonregular objective functionsand general temporal and resource constraints. Ifthe objective function to be minimized representssome measure of the variation of resource utiliza-tion, we speak of a resource leveling problem. Thenet present value problem deals with maximizingthe net present value of the project in question.The general temporal constraints consist of mini-
mum and maximum time lags between the start oftwo di�erent activities. The resource constraintstake into account that the renewable resourcesrequired for carrying out the activities of theproject are limited.
For resource leveling problems with specialobjective functions and only special minimumtime lags, several exact and heuristic solutionprocedures have been proposed. Exact algo-rithms based upon (implicit) enumeration, inte-ger programming, or dynamic programmingtechniques have been devised by Ahuja (1976),Easa (1989), Bandelloni et al. (1994), Demeu-lemeester (1995) and Younis and Saad (1996).Recently, Savin et al. (1996, 1997) have proposeda neural network approach for solving resourceleveling problems. Heuristic procedures have
European Journal of Operational Research 127 (2000) 425±443www.elsevier.com/locate/dsw
* Corresponding author. Tel.: +49-721-608-3807; fax: +49-
721-608-6616.
E-mail address: [email protected] (K. Neu-
mann).
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
![Page 2: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/2.jpg)
been o�ered by Moder and Phillips (1970),Moder et al. (1983), Ahuja (1976), Harris (1978,1990), and Takamoto et al. (1995) most of themrepresenting simple shifting heuristics or priority-rule methods. The latter paper contains an ex-perimental performance analysis on an actuallarge-scale industrial plant construction problemwith 115 areas and a planning horizon of morethan 1000 periods.
For resource leveling problems with generalobjective functions, and with maximum time lagsin addition to minimum ones, Brinkmann andNeumann (1996) and Neumann and Zimmermann(1999a,b) have devised priority-rule based heuris-tics, where the latter represent the ®rst polynomialheuristics for resource leveling in the open litera-ture. For a special case (the so-called resourceinvestment problem), N�ubel (1998) has proposeda branch-and-bound procedure based on theconcept of minimal delaying alternatives anddisjunctive precedence constraints.
Resource leveling plays an important role inpractice because large ¯uctuations in resourcerequirements (such as equipment, manpower, etc.)can be quite expensive Tavares (1987) whichcontains a case study on a program to renew arailway network, or Meridith and Mantel (1995),where a resource leveling information system forscheduling is considered). Moreover, expensiveand heavy machinery is not often available inquantities management needs. The importance ofresource leveling in practice is taken into accountby software tools (e.g., Primavera, SuperProject,etc.), which o�er simple shifting heuristics forpractical resource leveling problems (Meridithand Mantel, 1995). There may be resource level-ing problems with resource constraints andwithout resource constraints in practice. Re-sources such as production plants or capitalgoods with long delivery times are generally lim-ited whereas resources such as workers or ma-chines may be available in su�cient number butshould be used evenly over time. Both types ofresources have to be taken into account in projectscheduling.
In contrast to resource leveling, the objectivefunction of net present value problems is inde-pendent of resource utilization and emphasizes the
®nancial aspects of (medium- or long-range) pro-jects, where the cash ¯ows incurred are discountedto the project start. For the basic concepts of thetheory of cash ¯ows and net present value ofprojects we refer to Russell (1970) and Herroelenet al. (1997).
For the net present value problem withoutresource constraints and without maximum timelags, exact procedures based upon linear pro-gramming or recursive search have been present-ed by Grinold (1972) and Herroelen et al. (1996).For the case of general temporal constraints, DeReyck (1998) has devised a recursive search pro-cedure, which generalizes the methods proposedby Herroelen et al. (1996). For the resource-constrained net present value problem withoutmaximum time lags, integer programming andbranch-and-bound procedures have been devised,e.g., by Yang et al. (1992) and Icmeli andEreng�ucß (1996). Recently, in De Reyck andHerroelen (1998), a branch-and-bound algorithmbased on the concept of minimal delaying modesand the recursive search procedure of De Reyck(1998) has been o�ered for the net present valueproblem with general temporal and resourceconstraints.
This paper is organized as follows: Section 2gives a precise formulation of the resource level-ing and net present value problems. Section 3presents a new exact procedure for the net pre-sent value problem without resource constraintsbased on the approach by Grinold (1972), whichclearly outperforms the procedure by De Reyck(1998). Branch-and-bound and truncated branch-and-bound methods for resource leveling prob-lems with and without resource constraints arediscussed in Section 4. To the best of ourknowledge, exact procedures for resource levelingproblems with general temporal and resourceconstraints have not been dealt with in the openliterature so far. Sections 5 and 6 deal withheuristic schedule construction and scheduleimprovement procedures for resource levelingproblems with and without resource constraintsand for net present value problems with resourceconstraints. Section 7 contains a detailed experi-mental performance analysis of the algorithmspresented.
426 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 3: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/3.jpg)
2. Resource leveling and net present value problems
2.1. Preliminaries
Let V � f0; 1; . . . ; n� 1g be the set of activitiesof the project, which coincides with the node set ofa corresponding activity-on-node project network.The dummy activities 0 and n� 1 represent thebeginning and termination of the project, respec-tively. Let pi 2 ZP 0 be the duration or processingtime and Si 2 ZP 0 be the start time of activityi 2 V . If there is a given minimum time lagdmin
ij 2 ZP 0 between the start of two di�erent ac-tivities i and j, i.e., Sj ÿ Si P dmin
ij , we introduce anarc hi; ji in the project network with weightdij :� dmin
ij . If there is a given maximum time lagdmax
ij 2 ZP 0 between the start of activities i and j,i.e., Sj ÿ Si6 dmax
ij , we introduce an arc hj; ii withweight dji :� ÿdmax
ij . The arc set of the projectnetwork is denoted by E.
Suppose that S0 � 0 and there is a prescribedmaximum project duration d 2 ZP 0 with d Pd0;n�1, where dij is the longest path length fromnode i to node j in the project network. A sequenceof start times S :� �Si�i2V with Si 2 ZP 0 is called aschedule. For 0 2 C � V we call SC :� �Si�i2C apartial schedule, where C is the set of activitiesalready scheduled and we omit the superscript C ifC � V . Schedule S is termed time-feasible if itsatis®es the temporal constraints
Sj ÿ Si P dij; hi; ji 2 E;S0 � 0; Sn�16 d;Si 2 ZP 0; i 2 V :
�1�
By ES we denote the sequence of earliest and by LSthe sequence of latest start times (earliest and latestschedule). It is well known that ES and LS can becomputed in O�jV jjEj� time by a label-correctingalgorithm (Ahuja et al., 1993).
Assume that a set of renewable resources R isrequired for carrying out the project. Let Rk > 0 bethe capacity of resource k available and let rik P 0be the amount of resource k used by activity i,where rik 6Rk �k 2 R; i 2 V �. Given partial sched-ule SC let
A�SC; t� :� fi 2 C jSi6 t < Si � pig �2�
be the set of activities i 2 C in progress at time twhere we assume that activity i is in execution inthe half-open time interval �Si; Si � pi�. Moreover,let rk�SC; t� :�Pi2A�SC;t� rik be the amount of re-source k used at time t and T :� f0; 1; . . . ; d ÿ 1gbe the set of possible feasible start times of activ-ities i 2 V n fn� 1g. The step functions rk�SC; ��are called resource pro®les, and the jRj � d matrixR�SC� with elements rk�SC; t� �k 2 R; t 2T� istermed the resource utilization matrix given partialschedule SC. Then the resource constraints read asfollows:
rk�S; t�6Rk; k 2 R; t 2T: �3�
A schedule S is called resource-feasible if it satis®esthe resource constraints (3). A schedule which isboth time- and resource-feasible is called feasible.
2.2. Resource leveling problem
The objective function of the resource levelingproblem is considered a function of matrix R�S�.Several di�erent classes of objective functions havebeen discussed in the open literature (Neumannand Zimmermann, 1999b). For example,
f �R�S�� :�Xk2R
ck maxt2T
rk�S; t� �A�
represents the objective function of the so-calledresource investment problem (M�ohring, 1984;Demeulemeester, 1995; N�ubel, 1998), where ck > 0is the cost per unit of resource k. Class B of ob-jective functions measures the deviation of theconsumption of resource k from a given resourcesupply Yk P 0 (Easa, 1989; Harris, 1990; Bandel-loni et al., 1994). Objective function (B1) is givenby
f �R�S�� :�Xk2R
ck
Xt2T
rk�S; t�� ÿ Yk��; �B1�
where �z�� :� max�z; 0� and ck may be the cost ofworking overtime. In objective functions (B2) and(B3), �. . .�� is replaced by j . . . j and �. . .�2, respec-tively. Class C considers the variation of resourceutilization from period to period (Ahuja, 1976;
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 427
![Page 4: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/4.jpg)
Brinkmann and Neumann, 1996; Younis andSaad, 1996). Objective function (C1) is given by
f �R�S�� :�Xk2R
ck
Xd
t�0
rk�S; t�� ÿ rk�S; t ÿ 1���;
�C1�where rk�S;ÿ1� :� rk�S; d� :� 0. In objectivefunctions (C2) and (C3), �. . .�� is again replaced byj . . . j and �. . .�2, respectively.
The resource leveling problem with generaltemporal and resource constraints can then beformulated as follows:
min: f �R�S��s:t: �1�; �3�: �R��
The resource leveling problem without resourceconstraints (3) is denoted by �Rÿ�.
As it has been shown by Bartusch et al. (1988),the feasible region S (without the integralityconstraints Si 2 Z, i 2 V ) of �R�� is generally dis-connected and represents the union of (convex)polytopes whose number grows exponentially in n.The decision problem whether or not S 6� ;is strongly NP-complete. The feasible region(without the integrality constraints) ST of �Rÿ�represents a polytope. For simplicity, we assumethat ST 6� ; in what follows, which holds to betrue exactly if the underlying project network doesnot contain any cycle of positive length andd0;n�16 d <1.
Special points of S correspond to certain typesof schedules which dominate the set of optimalsolutions of some project scheduling problems.For example, so-called quasiactive schedules (i.e.,schedules which cannot be plainly left-shifted,where a plain left-shift transforms a schedule Sinto a schedule S06 S, S0 6� S, such that activitieswhich do not overlap in S neither do in S0) rep-resent minimal points of some polytopes from S,and quasistable schedules (i.e., schedules whichcannot be plainly left- and right-shifted) representextreme points of some polytopes from S (Neu-mann et al., 2000). If S 6� ;, there is always anoptimal solution to the resource investment prob-lem which represents a quasiactive schedule.Moreover, there is an optimal solution to �Rÿ�
and �R�� with objective function (B1), (B2), (B3),(C1), or (C2) which represents a quasistableschedule.
2.3. Net present value problem
Let b �0 < b6 1� be the discount rate per periodand cF
i 2 R be the cash ¯ow associated with ac-tivity i, which is assumed to occur at the comple-tion time Si � pi of activity i and may be positive(i.e., a payment received) or negative (i.e., a costincurred). In practice, often a payment cF
V 0 is re-ceived only when a set of activities V 0 � V insteadof a single activity have been completed. In thatcase, a dummy activity j with duration pj :� 0 andcash ¯ow cF
j :� cFV 0 is added to the project network
as well as arcs hi; ji �i 2 V 0� and hj; n� 1i withweights dij :� pi and dj;n�1 :� 0, respectively.
The net present value of the project equalsPi2V cF
i bSi�pi and the net present value problemwith general temporal and resource constraints isas follows:
max:Pi2V
cFi bSi�pi
s:t: �1�; �3�:�N��
The net present value problem without resourceconstraints (3) is denoted by �Nÿ�.
The feasible regions of �N�� and (Nÿ) coin-cide with the feasible regions of �R�� and (Rÿ),respectively. There is always an optimal solutionto �Nÿ� which represents an extreme point of ST
(which corresponds to a stable schedule, i.e., afeasible schedule where no activities can be glob-ally left- and right-shifted). If S 6� ;, there is anoptimal solution to �N�� which represents a localextreme point of S (which corresponds to a so-called pseudostable schedule, Neumann et al.(2000)).
3. Exact algorithm for (N ÿ)
For activity-on-arc networks, Grinold (1972)has shown that the so-called payment schedulingproblem (which corresponds to the net presentvalue problem) can be transformed into an
428 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 5: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/5.jpg)
equivalent linear program on the network. Thelinear program is solved using the fact that eachvertex of the feasible region can be represented bya spanning tree of the network. In addition, thecomplementary slackness theorem is exploited. Inwhat follows, we generalize and improve the ap-proach by Grinold (1972) to the net present valueproblem on activity-on-node networks with gen-eral temporal constraints.
First we transform problem �Nÿ� into a linearprogram. To do so, we take account of constraintSn�16 d by introducing an arc hn� 1; 0i withweight dn�1;0 :� ÿd, which gives the new arc seteE :� E [ fhn� 1; 0ig of the project network.Then, in analogy to Grinold (1972), it can beshown that �Nÿ� is equivalent to the problem
max:Pn�1
i�0
cFi yi
s:t: yjKij ÿ yi6 0; hi; ji 2 eE;y0 � 1;
�LP�
with feasible region SLP where yi :� bSi�pi andKij :� bÿ�dijÿpi�pj�; for all i 2 V n f0g and hi; ji 2 eE.
The dual program �DP� of �LP� with m� 1variables xij corresponding to the jEj � 1 arcshi; ji 2 eE (i.e., inequalities of �LP�) can be writtenas follows:
min: cF0 �
Pj2Succ�0�
x0j ÿP
h2Pred�0�Kh0xh0
s:t:Phj;ii2E
Kjixji ÿPhi;ji2E
xij � cFi ; i 2 V n f0g;
xij P 0; hi; ji 2 eE;�DP�
where the objective function considers the con-straint corresponding to node 0, and the sets of theimmediate successors and immediate predecessorsof node i in the project network are denoted bySucc�i� and Pred�i�, respectively.
Given a schedule S 2ST , the correspondingvector �y0; . . . ; yn�1�T is denoted by y�S�. Since arestriction of �Nÿ� is binding for schedule S if andonly if the corresponding restriction of �LP� isbinding for y�S�, S is a vertex of the feasible regionST of �Nÿ� if and only if y�S� is a vertex of SLP.Moreover, because of the continuity of the bijec-tive mapping y : ST !�0; 1�n�2
, it holds that
schedule S is a local maximizer of �Nÿ� if andonly if y�S� is a local maximizer of �LP�. Thuseach local maximizer of �Nÿ� is also a globalmaximizer and, since we have assumed thatST 6� ;, there exists an optimal solution to �Nÿ�representing a vertex of ST .
Following the principal idea of the networksimplex method (Ahuja et al., 1993), we representthe vertices of ST (and hence of SLP� by directedspanning trees T � hV ;E�T �i with node set V andarc set E�T �. Each of the n� 1 arcs of E�T � cor-responds to a binding constraint of �Nÿ� and�LP�, and the n dual variables xij correspondingto arcs hi; ji 2 E�T � form a basis B of �DP�. Dueto the complementary slackness conditions, span-ning tree T represents an optimal solution to �Nÿ�(and hence to �LP�) if for the correspondingvector of basic variables xB of �DP� given byXhj;ii2E�T �
Kjixji ÿX
hi;ji2E�T �xij � cF
i ; i 2 V n f0g;
it holds that xB P 0.Given a stable schedule S representing a vertex
of ST and the corresponding spanning treeT :� hV ;E�T �i, xB can be computed observingxij � wij=yi for all hi; ji 2 E�T �, where the wij are asolution ofXhj;ii2E�T �
wji ÿX
hi;ji2E�T �wij � cF
i yi; i 2 V n f0g: �4�
The system of equations (4) can be solved inO�jV j� time. Since all yi �i � 1; . . . ; n� 1� arepositive, xij is negative exactly if wij is negative.Thus, we determine the quantities wij by solving(4) in order to examine whether the underlyingspanning tree T is optimal. If at least one wij isnegative (i.e., T is not optimal), we determine thesmallest wij (hi; ji 2 E�T �), say whl, and delete thecorresponding arc hh; li from E�T � (i.e., the cor-responding constraint of �LP� is no longerbinding). We obtain two subtrees T1 � hV1;E�T1�iand T2 � hV1;E�T2�i with V1 [ V2 � V , 0 2 V1, andshift the activities of subtree T2 until a new con-straint becomes binding. This means that if thevertex S represented by T is nondegenerated, wemove to an adjacent vertex S0 with one di�erentbinding constraint.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 429
![Page 6: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/6.jpg)
If the initial node h of arc hh; li deleted belongsto set V1, the activities corresponding to the nodesof subtree T2 can only be right-shifted. Sinceall constraints corresponding to the arcs of E�T2�remain binding, the start time of each activitybelonging to set V2 is increased by
D :� minfSj ÿ Si ÿ dij j i 2 V2;
j 2 V1; hi; ji 2 eE n E�T �g:
If h 2 V2, the activities corresponding to the nodesof subtree T2 can only be left-shifted and the starttime of each activity belonging to set V2 is de-creased by
D :� maxfSi � dij ÿ Sj j i 2 V1;
j 2 V2; hi; ji 2 eE n E�T �g:
In either case we can compute D in O�jEj� time andthe new schedule S0 is given by S0j � Sj for j 2 V1
and S0i � Si � D for i 2 V2.Suppose that the new binding constraint cor-
responds to arc hr; si. Then the spanning treerepresenting S0 is given by T 0 :� hV ;E�T � n fhk; lig[fhr; sigi. The improvement in the net presentvalue from S to S0 is given by
�bD ÿ 1�whl if h 2 V1;ÿ�bD ÿ 1�whl otherwise:
�Notice that for h 2 V1, the net present value ofactivity set V2 is negative. Thus, V2 should bescheduled as late as possible. For h 2 V2, the netpresent value of activity set V2 is positive and V2
should be scheduled as early as possible. Algo-rithm 1 (Fig. 1) summarizes the determination ofan optimal solution to �Nÿ�.
In Step 1 of Algorithm 1 we determine eitherthe earliest start schedule ES in O�jV jjEj� timeby a label-correcting algorithm, where we right-shift all sinks of the corresponding spanning treewith negative cash ¯ow as far as possible, or astable schedule S by Procedure 1 (Fig. 2) (whichis generally ``better'' than ES). Due to the de-termination of the matrix of longest pathlengths, the time complexity of Procedure 1 isO�jV j3�.
4. Branch-and-bound and truncated branch-and-
bound procedures for (Rÿ) and (R�)
We sketch a time-window-based branch-and-bound procedure, where we enumerate the feasiblestart times of the activities. This algorithm can beused for all leveling objective functions (A)±(C3)introduced in Section 2.
First we deal with �Rÿ�. Let I be a probleminstance of �Rÿ�. The basic idea of the branch-and-bound procedure is to reduce the set of feasiblesolutions of I by successively scheduling activities.Each node p of the enumeration tree represents apartial schedule SCp � �SCp
i �i2Cp and thus an in-stance Ip with additional temporal constraintsSi � SCp
i for all scheduled activities i 2 Cp. The setof all feasible schedules S of Ip is denoted by Sp.Each leaf of the enumeration tree represents afeasible schedule S and the root of the tree corre-sponds to the partial schedule given by S0 � 0.
The children of node p are obtained by sched-uling an activity j 2 V n Cp at one of its feasiblestart times t 2 fESCp
j ; . . . ; LSCp
j g, where because oftemporal constraints (1)
ESCp
j :� max d0j;maxi2Cp
SCp
i
ÿ�� dij
��;
LSCp
j :� min d�ÿ dj;n�1;min
i2CpSCp
i
ÿ ÿ dji
��:
If there exist more than one unscheduled activity,we choose the activity with minimum total ¯oatTF Cp
j � LSCp
j ÿ ESCp
j , where ties are broken on thebasis of increasing activity numbers.
In order to determine the node p to be consid-ered next, we use a combined depth-®rst- andleast-lower-bound-search. After each branchingstep we investigate the node with minimum lowerbound among all nodes newly generated. Noticethat whenever node p can be fathomed, the sameholds for all brothers of p.
For the fathoming process of node p we use aworkload-based lower bound LB�SCp� which de-pends on the underlying objective function. Forso-called r-monotonous objective functions (i.e.,f �R�S��6 f �R�S0�� if rk�S; t�6 rk�S0; t� for allk 2 R and t 2T), which include functions (A),
430 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 7: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/7.jpg)
(B1), and (B3), we compute LB�SCp� by increasingthe resource pro®les rk�SCp
; �� (k 2 R) according tothe following two steps:
Step 1. Let Z � V n Cp such that �ESCp
j ; LCCp
j �\ �ESCp
h ; LCCp
h �� ; for all j; h 2 Z, j 6� h. LetR :� �rnc
k �SCp; t��k2R;t2T be the resource utilization
matrix of the activities already scheduled takinginto account the unavoidable resource utilizationof the near-critical activities h 2 C (where activity iis called near-critical if �LSCp
i ;ESCp
i � pi� 6� ;, cf.Neumann and Zimmermann, 1999b). The ele-ments of R are given by
rnck �SCp
; t� :�X
i2V :LSCpi 6 t<ESCp
i �pi
rik; k 2 R; t 2T;
where ESCp
i � LSCp
i � SCp
i for all i 2 Cp. Moreover,let
f p�R; j; Sj� :� f �R0� ÿ f �R�
be the additional cost incurred when activity j isscheduled at time Sj given resource matrix R,where matrix R0 is given by
Fig. 1. Algorithm 1.
Fig. 2. Procedure 1.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 431
![Page 8: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/8.jpg)
r0k�SCp; t� �
rnck �SCp
; t� � rjk
if t 2 �Sj; Sj � pj�n�LSCp
j ;ESCp
j � pj�rnc
k �SCp; t� otherwise:
8><>:for k 2 R; t 2T:
By scheduling each activity j 2 Z at a point intime S�j that minimizes f p�R; j; �� on fESCp
j ; . . . ;LSCp
j g, we obtain the resource pro®les rZk ���. Since
there are no two activities i; j 2 Z which can becarried out simultaneously, it follows thatrZ
k �t�6 rk�S; t� for all schedules S 2 Sp, k 2 R, andt 2T.
Step 2. Let V̂ :� V n �Cp [ Z� be the set of theunscheduled activities after Step 1 and
Wk�V̂ � :�Xh2V̂
ph rhk
be the remaining workload of the activities h 2 V̂ ,where ph :� LSCp
h ÿ ESCp
h for each near-critical ac-tivity h 2 V̂ and ph :� ph, otherwise. We take theworkload Wk�V̂ � into consideration by successivelyincreasing the resource pro®les rZ
k ��� Wk�V̂ � timesby one unit at points in time t� for which it holdsthat
rZk �t�� � min
t2TrZ
k �t�:
The resulting resource pro®les are denoted byrW
k ��� and the corresponding utilization matrix isdenoted by RW , where it holds that rW
k �t�6 rk�S; t�for all schedules S 2Sp, k 2 R, and t 2T. Thus,LB�SCp� :� f �RW � is a lower bound on the optimalobjective function value for Ip.
Lower bounds for (C1) and (C3) can be foundin Zimmermann and Engelhardt (1998).
Algorithm 2 (Fig. 3) gives the branch-and-bound procedure for �Rÿ� in pseudocode. Forsimplicity, each node p of the enumeration tree isrepresented by its corresponding partial scheduleSCp
. The set of nodes not yet investigated is de-noted by M, S� represents the best schedule knownthus far, and upperBound is the correspondingobjective function value.
Obviously, the performance of Algorithm 2depends markedly on the size of the time intervals�ESi; LSi� for activities i 2 V and therefore implic-itly on the minimum and maximum time lags andthe prescribed maximum project duration d.
Algorithm 2 can easily be adapted to �R�� asfollows (this modi®cation is termed Algorithm 2�).For scheduling an activity j, we consider only points
Fig. 3. Algorithm 2.
432 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 9: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/9.jpg)
in time t 2 fESCp
j ; . . . ; LSCp
j g such that activity j canbe started without violating the resource con-straints. Thus, from an enumeration point of view,�R�� is easier than �Rÿ� because the resource con-straints allow certain points in time to be ruled outimmediately. Moreover, we can speed up the pro-cedure by using so-called preprocessing procedures(De Reyck, 1998; Schwindt, 1998b). Based on ®rstthe examination of resource con¯icts induced bytwo activities and second on the workload of timeintervals, additional precedence and temporal con-straints can be introduced which reduce the numberof feasible solutions to be investigated.
Since �Rÿ� and �R�� are NP-hard in the strongsense, exact methods are generally not appropriatefor large problem instances. Thus, in addition tothe exact solution procedure, a heuristic based onso-called ®ltered beam search techniques can bederived from Algorithm 2. This truncated branch-and-bound procedure restricts the number of chil-dren of an enumeration node to a so-called beamwidth B. Only the B most promising nodes are se-lected as nodes to branch from and the remainingnodes are discarded permanently. To do so, for allchild nodes, we ®rst determine a simple lowerbound LBF (e.g., f �R� for r-monotonous objectivefunctions). Then, for the F child nodes withsmallest value of LBF, where F P B is a prescribed®lter width, tighter lower bounds LBB (e.g.,LB�SCp� for r-monotonous objective functions) arecomputed. The B children with smallest value ofLBB are selected for further enumeration. Since thenumber of enumeration nodes exponentiallyincreases in beam width B, we choose B to berandom with expected value between 1 and 2.Moreover, based on experimental investigations,we choose F � 30. Since the lower bounds used donot necessarily lead to a ``good'' solution whenonly few activities have been scheduled, we employa larger beam width B0 :� 2B for the ®rst 10 levelsof the enumeration tree.
5. Schedule construction procedures for (R�) and
(N �)
In Neumann and Zimmermann (1999b) twoheuristic procedures for �R�� have been discussed.
The ®rst approach is based on the well-knowncontraction method (Franck, 1999) and is denotedas Algorithm Contraction in what follows. Thesecond approach uses the concepts of feasible de-cision points and unscheduling of activities and isdenoted as Algorithm Unschedule in what follows.
We now propose a new heuristic approachwhich can generally be used to transform a time-feasible schedule S 2 ST which is not resource-feasible into a feasible schedule S0 2 S. For netpresent value problems we can determine an time-feasible schedule by Algorithm 1. For resourceleveling problems we determine a time-feasibleschedule by scheduling the activities successivelywhere all critical activities j are scheduled imme-diately (for details we refer to Neumann andZimmermann, 1999b). Let C be again the set ofscheduled activities, SC :� �Si�i2C be the corre-
sponding partial schedule, and C :� V n C be theset of unscheduled activities. Then the activity tobe scheduled next is an activity j 2 C with highestpriority, i.e., p�j� � exti2Cp�i�, where p�i� is thepriority value of activity i and ext 2 fmin;maxg.The following priority rules have turned out to beexpedient:
MST rule (Minimum Slack Time), i.e.,
exti2C
p�i� � mini2C
TF Ci :
MSO rule (Minimum number of activities be-fore the activity selected w.r.t. Strict Order ��;i.e.,
exti2C
p�i� � mini2Cfh 2 Cjh � ig�� ��;
where strict order � in set V is de®ned as fol-lows: i0 � j0 for i0; j0 2 V , i0 6� j0, exactly ifdi0j0 > 0 or if di0j0 � 0 and dj0i0 < 0.
GRD rule (Greatest Resource Demand), i.e.,
exti2C
p�i� � maxi2C
pi
Xk2R
rik:
GRDP rule (Greatest Resource Demand per Pe-riod), i.e.,
exti2C
p�i� � maxi2C
Xk2R
rik:
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 433
![Page 10: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/10.jpg)
In practice we mostly use priority-rule combina-tions. For example, GRD±MST means that theactivity to be scheduled next is the activity withgreatest resource demand, where ties are broken®rst on the basis of nondecreasing total ¯oats andsecond on increasing activity numbers. Since nopriority rule or priority-rule combination domi-nate all others, a priority-rule based heuristic isoften performed several times (multi pass, cf.Kolisch, 1995) with di�erent priority rules or pri-ority values randomly changed.
Next we determine a minimizer S�j of costfunction f p�R; j; �� on Tj :� fESC
j ; . . . ; LSCj g. To
do so, we compute a so-called decision set Dmj�SC�,
i.e., a subset of Tj which contains at least oneminimizer of f p�R; j; �� on Tj and where jDm
j�SC�jis linear in n. Decision set Dm
j�SC� depends on thetype m �m � 1; 2; 3� of the objective function. Type 1comprises objective function (A), type 2 objectivefunctions (B1), (B2), (B3), (C1) and (C2), and type3 objective function (C3). Let D�R�SC�� be the setof all jump discontinuities of the resource pro®lesrk�SC; �� and ST (CT) be the set of points in timeat which at least one activity i 2 C is started(completed). Then we have for objective functionsof type 1
D1j �SC� :� �Tj \ CT� [ fESC
j g:
Since each activity j is scheduled at its earliest starttime ESj or at a point in time where an activityi 2 C is terminated, no set of activities can beplainly left-shifted in the schedules constructed.This means that the resulting schedules are quasi-active.
D2j �SC� :� �Tj \ CT�[
ft 2Tjj�t � pj� 2STg [ fESCj ; LSC
j g
is the decision set for objective functions of type2. Since each activity j is scheduled at times ESj orLSj, at a point in time where an activity i 2 C isterminated, or at a time t such that the comple-tion time Cj coincides with the start time Si of anactivity i 2 C, the constructed schedules arequasistable. Let M :� �Tj \D�R�� [ ft 2Tj jt � pj 2 D�R�g [ fESC
j ; LSCj g be the set of points
in time t 2Tj for which it holds that activity jstarts or ends at a jump discontinuity of at leastone resource pro®le, if j is scheduled at time t.Then
D3j �SC� :�M [ fminft 2Tj j t 62Mgg
is the decision set for objective functions of type 3(Neumann and Zimmermann, 1999b). Procedure 2(Fig. 4) summarizes the determination of a time-feasible schedule for �R��.
Given a time-feasible schedule S which is notresource-feasible, we now successively determinethe smallest point in time t at which the resourcecapacities are exceeded and shift activities whichcause the resource con¯ict at time t. To do so, wedetermine the set of activities A�S; t� given by (2).We consider in turn all i 2A�S; t� and corre-sponding times ti 2 fESi; . . . ; t ÿ pig[ ft � 1; . . . ;LSig, and examine successively whether one of thefollowing three conditions (i), (ii) or (iii) will besatis®ed if we shift the start time of activity i fromSi to ti. Here, Reach�i� denotes the set of nodes inthe project network from which node i can be
Fig. 4. Procedure 2.
434 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 11: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/11.jpg)
reached and Reach�i� denotes the set of nodesreachable from node i, including i itself.
(i) The con¯ict at time t is resolved andS0 :� �0; S1; . . . ; Siÿ1; ti; Si�1; . . . ; Sn�1� meets con-straints (1) and rk�S0; s�6Rk (for all s 2 fti; . . . ; ti�pi ÿ 1g and k 2 R�.
(ii) The resource con¯ict at time t is resolved,and all j 2 Reach�i� [ Reach�i� can be left- orright-shifted such that constraints (1) are met andthe resource constraints are satis®ed at all points intime where the shifted activities are in execution.
(iii) The resource con¯ict at time t is reduced(i.e., rk�S; t� > rk�S0; t� for at least one k 2 R withrk�S; t� > Rk) and all j 2 Reach�i� [ Reach�i� can beleft- or right-shifted such that constraints (1) aremet and no new resource con¯ict results.
Note that condition (i) implies (ii) and (ii) im-plies (iii). If for an activity i 2A�S; t�, condition (i)is not ful®lled for any possible start time ti, weproceed to another activity from A�S; t�. Whencondition (i) is not satis®ed for any i 2A�S; t� andall corresponding possible start times ti, we go onwith condition (ii), etc. If at least condition (iii) isful®lled for some i 2A�S; t� and a correspondingstart time ti, we shift the start of activity i from Si
to ti and again determine the smallest point in timet at which the resource capacities are exceeded.
Algorithm 3 (Figs. 5±7) summarizes the heu-ristic procedure for �R�� and �N�� where Steps 3±5 of Algorithm 3 correspond to conditions (i), (ii),and (iii), respectively. In procedure Recursivefor-ward we have rep � false if for some h 2 Reach�j�,no resource-feasible start time has been foundwhere j is the current activity. Notice that in Step5, the resource constraints are only examined atpoints in time where activity j is in execution w.r.t.schedule S0 but not w.r.t. schedule S.
The time complexity of Algorithm 3 isO�jV jmaxi2V �LSi ÿ ESi�
Pi2V pi�. However, an ex-
perimental performance analysis has shown thateven problem instances with 500 activities can behandled within a few seconds. Again, the perfor-mance of the procedure can be increased usingpreprocessing procedures (see Section 4). Looselyspeaking, Algorithm 3 strives to ``repair'' aschedule which is time-feasible but not resource-feasible. Therefore, we denote Algorithm 3 asAlgorithm Repair in what follows.
6. Schedule improvement procedures for (Rÿ) and
(R�)
In this section we devise a tabu search approachfor �Rÿ� and �R��. The proposed procedure ex-ploits the fact that the principal goal of resourceleveling is to utilize the underlying resources evenlyover time. Therefore, we determine the peaks ofthe di�erent resource pro®les rk�S; ��, k 2 R, andshift activities such that at least one of the resourcepeaks is reduced (Wiest and Levy, 1969). For thebasic concepts of tabu search used in what follows,we refer to Glover and Laguna (1997).
First we deal with �Rÿ�. Let N�S� be the set ofschedules S0 we obtain from the given schedule S asfollows: Replace the start time Si of any activityi 2 V by a point in time t 2 fESi; . . . ; LSig n fSig. Ift > Si, we update the start times of all activitiesj 2 Reach�i�: S0j � max�Sj; t � dij�. If t < Si, we up-date the start times of all activities h 2 Reach�i�:S0h � min�Sh; t ÿ dhi�. The neighbor S0 of S whichresults from S by setting S0i :� t is denoted byS�i; t�.
Following the principal idea of tabu search, werepeatedly move from the current schedule S to aschedule S� 2 N�S� with minimum objective func-tion value. Moreover, the schedule Smin with thesmallest objective function value found thus far isstored. Since for large problem instances (withmore than 50 activities) it is too time-consuming toscan the whole neighborhood N�S�, we reduce thecardinality of neighborhood N�S� to a prescribednumber CAND of promising candidates. Let
Pk�S� :� ft 2T jrk�S; t�P g maxs2T
rk�S; s�g; k 2 R;
be the set of peak times of the current resourcepro®les where g 2 �0:8; 1� is a control parameter ofthe tabu search procedure. Then we determine theset of promising candidates C�S� � N�S� by enu-merating neighbors S�i; t� of S until we have foundCAND neighbors of S which meet the followingtwo conditions:
(i) It holds that t 2 Dmi �SV nfig� where Dm
i dependson the type m of the underlying objective functionand where we choose Ti � fd0i; . . . ; d ÿ di;n�1g (cf.Section 5).
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 435
![Page 12: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/12.jpg)
(ii) There is at least one resource k 2 R and atleast one peak time s 2 Pk�S� for which it holdsthat rk�S�i; t�; s� < rk�S; s�.
Condition (i) reduces the set of possible starttimes for activity i to points in time such that at thestart or termination of activity i there is at least
Fig. 5. Algorithm 3.
Fig. 6. Procedure 3.
436 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 13: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/13.jpg)
one di�erent activity which is terminated or start-ed, respectively. Condition (ii) ensures that at leastone peak of the resource pro®les rk�S; ��, k 2 R, isreduced.
In order to avoid that a peak for resource k attime t recently reduced is increased again, allneighbors S0 of S with rk�S0; t� > rk�S; t� get tabustatus. To do so, we always store the last TL (tabulist length) peak times t1; . . . ; tTL at which theresource utilization has been reduced and thecorresponding resources k1; . . . ; kTL (short-termmemory). Here, we use a dynamic tabu list withminimum length of 10 and maximum length of 50,which dynamically increases in the number of stepssince the current best solution Smin has been found.Algorithm 4 (Fig. 8) summarizes the procedure forthe determination of C�S�.
Since the proposed tabu conditions may ex-clude attractive new solutions, we cancel the tabustatus of a neighbor S0 of the current schedule S ifS0 represents a new best solution (aspiration crite-rion). In order to improve the search process we
use the following intensi®cation and diversi®cationmethods.
For intensi®cation, we always store the set EL(elite set) of the 10 solutions with smallest objec-tive function value determined since the lastintensi®cation step (short-term memory). Anintensi®cation step is then as follows. First wecompute the best solution SEL 2 EL and the set V EL
of activities i 2 V which possess the same starttime Si in all schedules S 2 EL. Emanating fromschedule SEL, we determine C�SEL� by shifting onlyactivities i 2 V n V EL. This means that we consideronly neighbors S�i; t� with i 2 V n V EL and
t 2 max�ESi;maxj2V EL�Sj
�� dji��; . . . ;
min�LSi; minj2V EL�Sj ÿ dij��
�:
For diversi®cation, for each activity i 2 V westore the value ai which indicates how often thestart time of activity i has been altered during the
Fig. 8. Algorithm 4.
Fig. 7. Procedure 4.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 437
![Page 14: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/14.jpg)
previous search process (long-term memory). Inaddition, for each activity i 2 V we store a starttime interval Ai �Ti which has been neglectedthus far. A diversi®cation step is then as follows.First we determine the set V d containing the bn=2cactivities i 2 V with smallest values ai. Emanatingfrom the current schedule S, we then determineC�S� by successively shifting the start times Si ofactivities i 2 V d to points in time t 2 Ai. Further-more, we reverse the enumeration of t, i.e., weenumerate t from TF to 0 in Step 2 of Algorithm 4.
During the search process, we alternately per-form 10 diversi®cation steps and 5 intensi®cationsteps if in more than 20 iteration steps, no new bestsolution has been found. The search process isstopped if a prescribed computing time is exceededor if the candidate set of the current schedule isempty even if the tabu status of all neighbors isignored. The tabu search procedure for �Rÿ� ob-tained by extending the standard tabu search ap-proach by the described candidate set, tabu status,aspiration criterion, intensi®cation, diversi®cation,and stopping condition is denoted by AlgorithmTS in what follows.
For �R�� we modify the tabu search procedure,which is then denoted by Algorithm TS�, as fol-lows:
(i) A feasible solution Smin is only replaced by abetter feasible solution.
(ii) To ®nd S� 2 C�S�, the objective functionvalue of an infeasible schedule S is enlarged bypenalty cost
Pk2R ck
Pt2T��rk�S; t� ÿ Rk���2.
(iii) After 20 iteration steps without ®nding aschedule which meets the resource constraints, theset of peak times is reduced to points in time twhere at least one resource restriction is violatedw.r.t. the current schedule.
7. Experimental performance analysis
In this section, we brie¯y discuss the perfor-mance of Algorithms 1±4. For the experimentaltests we have used an IBM-compatible PC with aPentium 200 processor running NT 4.0. For thecomparison of Algorithm 1 with the recursivesearch procedure by De Reyck (1998) who used aPentium 60, we have employed an IBM-compati-
ble PC 486/50 running Windows 95 (which issigni®cantly slower than the Pentium 60). Allprocedures have been coded in ANSI C.
7.1. Benchmark test sets
We consider three test sets: test sets A and Bproposed in Neumann and Zimmermann (1999b)and test set C proposed by De Reyck (Set III in DeReyck, 1998), which have been generated by theproblem generator ProGen/max (Schwindt, 1998a).Test set A contains 270 instances of problem �R��with 10, 15, and 20 real activities and 1, 3, and 5di�erent resources. Test set B contains 270instances of problems �R�� and �N�� with 100,200, and 500 real activities and 1, 3, and 5 di�erentresources. Finally, test set C contains 7200instances of �R�� with 10, 20, 30, 50, and 100activities and between 1 and 5 di�erent resources.The activity durations pi are uniformly chosenfrom f1; 2; . . . ; 10g and the restrictiveness (orderstrength) is 0.25, 0.5, or 0.75.
The resource capacities Rk for problem sets Aand B are determined such that the resourcestrength which measures the scarcity of resourcesis equal to 0:2 (a de®nition of the well-knowncontrol parameters restrictiveness and resourcestrength can be found in Schwindt, 1998a). For theprescribed maximum project duration d, wechoose for the problem instances of test sets A andB three di�erent values: d1:0 � d0;n�1, d1:1 �1:1d0;n�1, and d1:25 � 1:25d0;n�1, and for test set Cwe choose
d � ed :�Xi2V
max pi; maxj2Succ�i�
dij
� �:
7.2. Results for (Nÿ�
First we deal with problem �Nÿ� and test setsB and C where the resource data of the probleminstances are omitted. The cash ¯ows are gener-ated randomly from a uniform distribution onfÿ500; . . . ; 500g and a discount rate of b � 0:99.Table 1 shows the average CPU times in millisec-onds as well as the average number of iterations
438 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 15: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/15.jpg)
for solving a problem instance of test set B byAlgorithm 1 depending on the number n of realactivities. We consider two versions of Algorithm 1depending on which schedule is determined inStep 1: Algorithm 1ES uses the earliest startschedule ES and Algorithm 1S uses a stableschedule S found by Procedure 1.
We see that even problem instances with 500activities can be solved in less than 1 second. Be-cause of the determination of the longest pathlengths dij, the running time of Algorithm 1S ismuch larger than that of Algorithm 1ES althoughthe average number of iterations is signi®cantlysmaller.
Next we compare the recursive search proce-dure by De Reyck (1998) (Algorithm De Reyck)with Algorithms 1ES and 1S on test set C . Table 2shows the average CPU time (in milliseconds) forAlgorithms 1ES and 1S as well as the times givenin De Reyck (1998) for test set C depending on n.
We see that Algorithms 1ES and 1S clearlyoutperform the procedure by De Reyck (1998).The poor performance of De Reyck's method iscaused by several reasons, in particular:1. the computation of the matrix of longest path
lengths dij is very time-consuming and has nopositive e�ect,
2. a large number of iterations (of the modi®edsimplex method) is performed without muchbene®t (only transformation of the basis),
3. the average number of activities right-shiftedper iteration is relatively small.
7.3. Results for �Rÿ� and �R��
We now deal with problems �Rÿ� and �R��where objective functions (A), (B3), and (C3) areconsidered (for objective functions (B1), (B2),(C1), and (C2) we obtain similar results). For eachproblem instance of test set A and d1:1, we computean optimal solution for problems �Rÿ� and �R��using Algorithms 2 and 2�, respectively, or showfor the respective instance of problem �R�� thatthe feasible region is empty. Table 3 gives thepercentage of problem instances which can besolved by Algorithms 2 and 2� in 10 and 100seconds for objective functions (A), (B3), and (C3).
We see that due to tighter lower bounds, theperformance of Algorithm 2 is much better for ther-monotonous objective functions (A) and (B3)than for objective function (C3). Resource con-straints permit us to reduce signi®cantly the size ofthe enumeration tree to be investigated. Thus, theperformance of Algorithm 2� for problem �R�� isbetter than the performance of Algorithm 2 forproblem �Rÿ�.
Next, we investigate the performance of thethree schedule construction procedures AlgorithmContraction, Algorithm Unschedule, and Algo-rithm Repair for problem �R�� (cf. Section 5).Table 4 shows the percentage of problem instancesfrom test set A with nonempty feasible regionwhich can be solved to feasibility for d1:1. It turnsout to be best to choose Algorithm Repair for allthree objective functions considered.
To improve the results obtained by priority-rulebased heuristics for problems �Rÿ� and �R��, weapply the tabu search heuristics Algorithm TS andAlgorithm TS�, respectively. For Algorithm TS weuse the control parameters CAND � 100 andg � 0:9 and a running time of 3 seconds. Thepriority-rule combinations employed in Procedure2 are MSO±MST, MST±GRD, and GRDP±MSTfor objective functions (A), (B3), and (C3), re-spectively. For each instance I of test set A andeach heuristic H 2 fProc: 21;Proc: 210;Alg: TSg,we compute Dopt
I �H� :� �fI�H� ÿ f optI �=f opt
I , i.e.,the relative deviation of the objective functionvalue for the schedule found by heuristic H fromthe minimum objective function value. Here,Proc: 2j means that we choose the best schedule of
Table 2
Average CPU time (in milliseconds), for Algorithms 1ES, 1S,
and DeReyck, problem �Nÿ�, test set C , and edn 10 20 30 50 100
Alg. 1ES 1 5 9 18 53
Alg. 1S 2 7 16 62 228
Alg. DeReyck 1 6 17 137 836
Table 1
Average CPU time (in milliseconds)/average number of itera-
tion for Algorithms 1ES and 1S, problem �Nÿ�, test set B, and
d1:25
n 100 200 500
Alg. 1ES 17.0/24.9 48.4/60.7 250.4/94.5
Alg. 1S 21.9/9.6 117.8/20.6 843.4/40.1
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 439
![Page 16: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/16.jpg)
j passes of (schedule construction) Procedure 2where the priority values are randomly changed(multiplied by a random number uniformly dis-tributed on [0.8,1.2], cf. (Franck, 1999). Table 5shows the average relative deviation
Dopt�H� :� 1
jAjXI2A
DoptI �H�
for H 2 fProc: 21;Proc: 210;Alg: TSg dependingon d.
We see from Table 5 that the average relativedeviation can be decreased signi®cantly using tabusearch. If we employ the tabu search procedureTS� for problem �R��, the percentage of probleminstances of test set A which can be solved tofeasibility increases compared to Algorithm Re-pair. In particular, the percentage of instancesfrom A solved to feasibility for d1:1 is 98%, 97%,
and 93% for objective functions (A), (B3), and(C3), respectively (compare Table 4 for AlgorithmRepair).
To examine the performance of the tabusearch approach for large instances, we compareit for problem �Rÿ� with objective function (A),with the ®ltered beam search modi®cation ofAlgorithm 2 (denoted by Algorithm FB1) and a®ltered beam search procedure (denoted by Al-gorithm FB2) based on the branch-and-boundprocedure for the resource investment problemdevised by N�ubel (1998). To do so, we measurethe accuracy of a schedule for the 90 probleminstances I from test set B with 500 activities(denoted as B500) found by heuristic H by the``relative error''
�I�H� :� fI�H� ÿ f �If �I
;
where fI�H� is the objective function value forproblem instance I computed by heuristicH 2 fAlg: TS;Alg: FB1;Alg: FB2g and f �I is thesmallest objective function value found by any ofthe three heuristics applied to I.
��H� :� 1
jB500jX
I2B500
�I�H�
Table 5
DoptI �H� for test set A solved by schedule construction and improvement procedures for �Rÿ�
(A) (B3) (C3)
d1:0 d1:1 d1:25 d1:0 d1:1 d1:25 d1:0 d1:1 d1: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
Table 3
Percentage of instances from test set A for problems �Rÿ� and �R�� solved by Algorithms 2 and 2�, respectively, given d1: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
Percentage of instances from test set A solved to feasibility by
Algorithms Contraction, Unschedule, and Repair for problem
�R�� and d1:1
(A) (B3) (C3)
Alg. Contraction 60 69 53
Alg. Unschedule 65 76 64
Alg. Repair 84 87 81
440 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 17: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/17.jpg)
is called the quality of heuristic H (Brinkmann andNeumann, 1996) for test set B500. Table 6 shows��H� for H 2 fAlg: TS;Alg: FB1;Alg: FB2g, thenumber mbest of instances for which heuristic Hyields the best (i.e., smallest) objective func-tion value, and the maximum ``relative error''�max�H� :� maxI2B500
�I�H� of heuristic H for acomputing time of 100 s depending on d. We seethat the tabu search approach generally outper-forms both ®ltered beam search procedures.
In summary, for problem �Rÿ� we recom-mend to use the tabu search approach. Forsmall instances of problem �R��, say with up to100 activities, we recommend to employthe branch-and-bound or the truncated branch-and-bound procedures. For larger problem in-stances the heuristic Algorithm Repair should beused.
8. Conclusions
We have presented exact and heuristic proce-dures for the resource leveling and net presentvalue problems �Rÿ�, �R��, and �Nÿ� as well as aheuristic procedure for �N��. For �Rÿ� and �R��,several di�erent types of objective functions havebeen discussed.
The exact procedure for �Nÿ� solves probleminstances with 500 activities within an averagecomputation time of less than 1 second and clearlyoutperforms the recursive search procedure of DeReyck (1998).
For the ®rst time, small instances of �Rÿ� and�R�� with up to 20 activities and ®ve resourceshave been solved to optimality by a branch-and-bound procedure. Here, for problem �R��, morethan 97% of the instances considered have been
solved to optimality within 100 seconds. Asheuristic methods are concerned, more than 80%of the instances of �R�� have been solved tofeasibility in less than 1 second by a priority-rulebased schedule construction procedure, whichoutperforms the heuristics devised in Neumannand Zimmermann (1999b). For small instances of�Rÿ�, the average relative deviation of the objec-tive function value for the schedules determinedfrom the minimum function value ranges between2% and 32% depending on the objective function.For the improved schedules found by the tabusearch method o�ered, the deviations are between0% and 9%. For large problem instances of �Rÿ�with 500 activities, the tabu search approach out-performs both the truncated branch-and-boundprocedure proposed in this paper and that onederived from the branch-and-bound algorithm byN�ubel (1998).
Important areas of further research are a moredetailed empirical performance analysis takinginto account di�erent project parameters thathave a strong impact on the hardness of probleminstances (Schwindt, 1998a) and the determina-tion of tight lower bounds on the minimum val-ues of di�erent types of objective functions for�Rÿ� and �R��. Moreover, an exact solutionmethod for �N�� based on the exact solutionprocedure for �Nÿ� proposed should be devel-oped.
Acknowledgements
This research has been supported in part bythe Deutsche Forschungsgemeinschaft (Grant Ne137/4).
Table 6
Comparison of heuristics procedures Algorithm TS, FB1, and FB2 for test set B500 and problem �Rÿ�Alg. d1:0 d1:1 d1: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
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 441
![Page 18: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/18.jpg)
References
Ahuja, H.N., 1976. Construction Performance Control by
Networks. Wiley, New York.
Ahuja, R.K., Magnanti, T.L., Orlin, J.B., 1993. Network
Flows. Prentice-Hall, Englewood Cli�s, NJ.
Bandelloni, M., Tucci, M., Rinaldi, R., 1994. Optimal resource
leveling using non-serial dynamic programming. European
Journal of Operational Research 78, 162±177.
Bartusch, M., M�ohring, R.H., Radermacher, F.J., 1988.
Scheduling project networks with resource constraints
and time windows. Annals of Operations Research 16,
201±240.
`Brinkmann, K., Neumann, K., 1996. Heuristic procedures for
resource-constrained project scheduling with minimal and
maximal time lags: The resource-levelling and minimum
project duration problems. Journal of Decision Systems 5,
129±155.
Demeulemeester, E., 1995. Minimizing resource availability
costs in time-limited project networks. Management Sci-
ence 41, 1590±1598.
De Reyck, B., 1998. Scheduling projects with generalized
precedence relations: Exact and heuristic procedures.
Ph.D. Dissertation, Catholic University of Leuven.
De Reyck, B., Herroelen, W., 1998. An optimal procedure
for the resource-constrained project scheduling prob-
lem with discounted cash ¯ows and generalized prece-
dence relations. Computers and Operations Research 25,
1±17.
Easa, S.M., 1989. Resource leveling in construction by
optimization. Journal of Construction Engineering and
Management 115, 302±316.
Franck, B., 1999. Priorit�atsregelverfahren f�ur die res-
sourcenbeschr�ankte Projektplanung mit und ohne Kalen-
der. Shaker, Aachen.
Glover, F., Laguna, M., 1997. Tabu Search. Kluwer Academic
Publishers, Boston.
Grinold, R.C., 1972. The payment scheduling problem. Naval
Research Logistics Quarterly 19, 123±136.
Harris, R.B., 1978. Precedence and Arrow Networks for
Construction. Wiley, New York.
Harris, R.B., 1990. Packing method for resource leveling
(pack). Journal of Construction Engineering and Manage-
ment 116, 39±43.
Herroelen, W.S., Demeulemeester, E.L., Van Dommelen, P.,
1996. An optimal recursive search procedure for the
deterministic unconstrained max-npv project scheduling
problem. Research Report 9603, Department of Applied
Economics, Catholic University of Leuven.
Herroelen, W.S., Van Dommelen, P., Demeulemeester, E.L.,
1997. Project network models with discounted cash ¯ows:
A guided tour through recent developments. European
Journal of Operational Research 100, 97±121.
Icmeli, O., Ereng�ucß, S.S., 1996. A branch and bound procedure
for the resource-constrained project scheduling problem
with discounted cash ¯ows. Management Science 42, 1395±
1408.
Kolisch, R., 1995. Project Scheduling under Resource Con-
straints. Physica, Heidelberg.
Meridith, J.R., Mantel Jr., S.J., 1995. Project Management: A
Managerial Approach. Wiley, New York.
Moder, J.J., Phillips, C.R., 1970. Project Management with
CPM and PERT. Van Nostrand Reinhold, New York.
Moder, J.J., Phillips, C.R., Davis, E.W., 1983. Project Man-
agement with CPM PERT and Project Diagramming. Van
Nostrand Reinhold, New York.
M�ohring, R.H., 1984. Minimizing costs of resource require-
ments in project networks subject to a ®xed completion
time. Operations Research 32, 89±120.
Neumann, K., Zimmermann, J., 1999a. Heuristic methods for
resource-constrained project scheduling with regular and
nonregular objective functions and schedule-dependent
time windows. In: Weglarz, J. (Ed.), Project Scheduling:
Recent Models, Algorithms, and Applications. Kluwer
Academic Publishers, Boston, pp. 261±287.
Neumann, K., Zimmermann, J., 1999b. Resource levelling for
projects with schedule-dependent time windows. European
Journal of Operational Research 117, 591±605.
Neumann, K., N�ubel, H., Schwindt, C., 2000. Active and stable
project scheduling. Mathematical Methods of Operations
Research, to appear.
N�ubel, H., 1998. A branch-and-bound procedure for the
resource investment problem with generalized precedence
constraints. Technical Report WIOR-516, University of
Karlsruhe.
Russell, A.H., 1970. Cash ¯ows in networks. Management
Science 16, 357±373.
Savin, D., Alkass, S., Fazio, P., 1996. Construction resource
levelling using neural networks. Canadian Journal of Civil
Engineering 23, 917±925.
Savin, D., Alkass, S., Fazio, P., 1997. A procedure for
calculating the weight-matrix of a neural network for
resource leveling. Advances in Engineering Software 28,
277±283.
Schwindt, C., 1998a. Generation of resource-constrained
scheduling problems subject to temporal constraints.
Technical Report WIOR-543, University of Karlsruhe,
European Journal of Operational Research, submitted.
Schwindt, C., 1998b. Verfahren zur L�osung des res-
sourcenbeschr�ankten Projektdauerminimierungs problems
mit planungsabh�angigen Zeitfenstern. Shaker, Aachen.
Takamoto, M., Yamada, N., Kobayashi, Y., Nonaka, H., 1995.
Zero±one quadratic programming algorithm for resource
leveling of manufacturing process schedules. Systems and
Computers in Japan 26, 68±76.
Tavares, L.V., 1987. Optimal resource pro®les for program
scheduling. European Journal of Operational Research 29,
83±90.
Wiest, J.D., Levy, F.K., 1969. A Management Guide to PERT/
CPM. Prentice-Hall, Englewood Cli�s, NJ.
Yang, K.K., Tay, L.C., Sum, C.C., 1992. A comparison of
stochastic scheduling rules for maximizing project net
present value. European Journal of Operational Research
85, 327±339.
442 K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443
![Page 19: Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General Temporal and Resource Constraints](https://reader034.fdocuments.net/reader034/viewer/2022042623/552913075503463e2e8b463e/html5/thumbnails/19.jpg)
Younis, M.A., Saad, B., 1996. Optimal resource leveling of
multi-resource projects. Computers and Industrial Engi-
neering 31, 1±4.
Zimmermann, J., Engelhardt, H., 1998. Lower bounds and
exact algorithms for resource levelling problems. Technical
Report WIOR-517, University of Karlsruhe.
K. Neumann, J. Zimmermann / European Journal of Operational Research 127 (2000) 425±443 443