Procedures for Resource Leveling and Net Present Value Problems in Project Scheduling With General...

19
Procedures for resource leveling and net present value problems in project 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 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 1. Introduction We consider scheduling problems with two dierent types of nonregular objective functions and general temporal and resource constraints. If the objective function to be minimized represents some measure of the variation of resource utiliza- tion, we speak of a resource leveling problem. The net present value problem deals with maximizing the net present value of the project in question. The general temporal constraints consist of mini- mum and maximum time lags between the start of two dierent activities. The resource constraints take into account that the renewable resources required for carrying out the activities of the project are limited. For resource leveling problems with special objective functions and only special minimum time lags, several exact and heuristic solution procedures have been proposed. Exact algo- rithms based upon (implicit) enumeration, inte- ger programming, or dynamic programming techniques have been devised by Ahuja (1976), Easa (1989), Bandelloni et al. (1994), Demeu- lemeester (1995) and Younis and Saad (1996). Recently, Savin et al. (1996, 1997) have proposed a neural network approach for solving resource leveling problems. Heuristic procedures have European Journal of Operational Research 127 (2000) 425–443 www.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

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

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

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

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

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

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

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

(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

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

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

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

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

(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

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

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

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

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

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

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

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