CompurersOps Rex. Vol. 25. No. I, pp. l-17, 1998
Pergamon
0 1997ElsevierScienceLtd
PII: s0305-0548(97)ooo43-9
All rights reserved. Printedin GreatBritain 0305-0548/97 $19.00+0.00
AN OPTIMAL PROCEDURE FOR THE RESOURCE-CONSTRAINED PROJECT SCHEDULING PROBLEM WITH DISCOUNTED CASH FLOWS AND GENERALIZED PRECEDENCE RELATIONS Bert De Reyck$ and Willy Herroelentg Operations Management Group, Department of Applied Economics, Katholieke Universiteit Leuven, Naamsestraat 69. B-3000 Leuven, Belgium (Received October 1996: in revised form May 1997)
Scope and Purpose-The problem of scheduling projects under various types of resource constraints constitutes
an important and challenging problem which has received increasing attention during the past several years. The traditional resource-constrained project scheduling problem aims at scheduling project activities to minimize the project duration subject to finish-start precedence constraints and constant availability constraints on the required set of resources. The important problem studied in this paper involves the scheduling of project activities to maximize the net present value of the project subject to availability constraints on the required set of resources and generalized precedence relations which in addition to the common finish-start type of precedence constraints may specify arbitrary minimal and maximal time lags between the starting and completion times of the activities. The literature on this realistic generalized problem, which allows to model a variety of problem settings such as activity ready times and deadlines, setup times, permissible and mandatory activity overlaps, time-varying resource requirements and availabilities, time windows for resources and inventory restrictions, is completely void. We describe an efficient optimal solution procedure and report on extensive and promising computational experience obtained on a randomly generated problem set. this paper, we consider the resource-constrained project scheduling problem (RCPSP) with discounted cash flows and generalized precedence relations (RCPSPDC-GPR). The RCPSPDC-GPR extends the RCPSP to (a) arbitrary minimal and maximal time lags between the starting and completion times of activities and (b) the non-regular objective function of maximizing the net present value of the project with positive and/or negative cash flows associated with the activities. To the best of our knowledge, the literature on the RCPSPDCGPR is completely void. We present a depth-first branch-and-bound algorithm in which the nodes in the search tree represent the original project network extended with extra precedence relations which resolve a number of resource conflicts. These conflicts are resolved using the concept of minimal delaying modes, which is an extension of the notion of minimal delaying alternatives originally developed for the RCPSP. An upper bound on the project net present value as well as several dominance rules are used to fathom large portions of the search tree. Extensive computational experience on a randomly generated benchmark problem set is reported. Q 1997 Elsevier Science Ltd Abstract-In
1. INTRODUCTION
CPM (Critical Path Method; Kelley and Walker [l]) and PERT (Program Evaluation and Review Technique; Malcolm et al. [2]) are devoted to minimizing the project makespan under the assumption that required resources are available in sufficient amounts, and that the technological precedence relations between any pair of activities i and j imply that activity i must be completed before activity j can be initiated. Over the years, the assumption of sufficiently available resources has been relaxed and many research efforts have been directed towards project scheduling with explicit consideration of resource requirements and constraints. More recent research has been directed at relaxing the strict precedence assumption of CPM/PERT. In accordance with Elmaghraby and Kamburowski [3], we will refer to the resulting types of precedence relations as generalized precedence relations (GPRs). We distinguish between four types of GPRs: start-start (SS), start-finish (SF), finish-start (FS) and finish-finish (FF). GPRs can specify a minimal or a maximal time lag between a pair of activities. A minimal time lag specifies that an activity can only start (finish) when the predecessor activity has already started (finished) for a certain time period. A maximal time lag specifies that an activity should be started (finished) at the t To whom ah correspondence should be addressed (email:
[email protected]). $ Bert De Reyck is completing his Ph.D. dissertation under Professor Herroelen’s guidance. His research interests are the same as those of Professor Hetroelen. $ Willy Herroelen is Professor of Operations Management in the Department of Applied Economic Sciences at the Katholieke Universiteit Leuven (Belgium). His cumnt research interests include the construction of optimal and heuristic solution procedures for various types of resource-constrained project scheduling problems including important extensions for coping with real-life project scheduling problems, and for related problem types. Related publications have appeared in Operations Research. Management Science and the European Journal of Operational Research.
2
Bert de Reyck and Willy Herroelen
latest a certain number of time periods beyond the start (finish) of another activity. GPRs can be used to model a wide variety of specific problem characteristics, including (Bartusch et al. [4], De Reyck [5], Neumann and Schwindt [6]) activity ready times and deadlines, activities that have to start or terminate simultaneously, non-delay execution of activities, several types (total or strong/weak partial) of mandatory activity overlaps, fixed activity start times, time-varying resource requirements and availabilities, etc... The first treatment of GPRs is the result of Kerbosch and Schell [7], based on the pioneering work of Roy [8]. Other studies include Crandall [9], Elmaghraby [lo], Wiest [ll], Moder er al. [12], Bartusch et al. [4], Elmaghraby and Kamburowski [3], Brinkmann and Neumann [13], Zhan [ 141, De Reyck [5], Neumann and Schwindt [6] and Schwindt [ 151, Neumann and Zhan [ 161, De Reyck and Herroelen [17-191, Schwindt and Neumann [20] and Franck and Neumann [21]. Recently, a number of publications have dealt with various types of project scheduling problems in which cash flows are associated with the activities, and in which the objective is to schedule the activities in such a way that the net present value (npv) of the project is maximized. Generally, a series of cash flows may occur over the course of a project in two forms. Cash outflows include expenditures for labor, equipment, materials, etc.. Cash inflows correspond to progress payments for completed work. For a recent review and categorization of the various research efforts, we refer the reader to Herroelen et al. [22]. We distinguish between procedures for the unconstrained max-npv project scheduling problem, which occurs when no constraints on resource usage are imposed such that the activities are only subject to precedence constraints, and procedures for the resource-constrained project scheduling problem with max-npv objective, also referred to as the resource-constrained project scheduling problem with discounted cash flows (RCPSPDC). Algorithms for the deterministic resource-unconstrained case were presented by Russell [23], Grinold [24], Elmaghraby and Herroelen [25], Herroelen and Gallens [26], Kazaz and Sepil [27] and Herroelen ef al. [28], among which the latter seems to be the most efficient. Optimal algorithms for the resource-constrained case were presented by Doersch and Patterson [29], Smith-Daniels and Smith-Daniels [30], Patterson ef al. [3 1,321,Yang et al. [33], Icmeli and Erengtlc [34] and Baroum and Patterson [35]. Heuristic approaches were presented by Russell [36], Smith-Daniels and Aquilano [37], Padman et al. [38], Padman and Smith-Daniels [39], Zhu and Padman [40], Icmeli and Erengtic [41], Gzdamar et al. [42], Yang er al. [43], Ulusoy and Gzdamar [44] and Sepil and Ortac [45]. In this article, we present an optimal solution procedure for the resource-constrained project scheduling problem with discounted cash flows and generalized precedence relations (RCPSPDC-GPR), thereby extending both the procedures presented in the literature for the resource-constrained project scheduling problem with generalized precedence relations (RCPSP-GPR) as well as those for the resource-constrained project scheduling problem with discounted cash flows (RCPSPDC). To the best of our knowledge, the literature on the RCPSPDC-GPR is completely void. In fact, all optimal and heuristic procedures for the RCPSP with GPRs so far have concentrated on minimizing the project makespan or optimizing other regular measures of performance (Brinkmann and Neumann [ 131,Zhan [ 141, Neumann and Zhan [16], De Reyck and Herroelen [17,18], Schwindt and Neumann [20], Franck and Neumann WI). The remainder of this article is organized as follows. Section 2 clarifies the terminology and the project representation used. In Section 3, the temporal analysis of project networks with generalized precedence relations is reviewed briefly. Section 4 continues with a conceptual formulation of the RCPSP-GPR. In Section 5 we discuss the unconstrained max-npv project scheduling problem with GPRs, which will be used for the computation of upper and lower bounds on the project npv in the branch-and-bound procedure for the RCPSPDC-GPR described in Section 6. Computational results are given in Section 7. Section 8 is reserved for our overall conclusions. 2. TERMINOLOGY
AND REPRESENTATION
Assume a project represented in activity-on-the-node (AoN) notation by a directed graph G= ( Vi E) in which V is the set of vertices or activities, and E is the set of edges or generalized precedence relations (GPRs). The project is subject to a deadline DL. The non-preemptable activities are numbered from 1 to n, where the dummy activities 1 and n mark the beginning and the end of the project. The duration of an activity is denoted by di, its start time by si and its finish time by.&. The terminal cash flow value ci (positive or negative) of activity i is obtained by compounding all the cash flows occurring during the execution of activity i to its completion time:
Ci= 5, gip ddi -‘),
where g, (positive or negative) denotes the
cash flow occurring during the fthperiod activity i is in progress and LYrepresents the discount rate. There
An optimal procedurefor the RCPSPDC-GPR
3
are m renewable resource types, with r, the resource requirements of activity i with respect to resource type k in the Yh period it is in progress and al,, the availability of resource type k in time period ]t - 1, r] (he time interval between time instants t - 1 and f). If the resource requirements and availabilities are not time-dependent, they are represented by r, and a, respectively. The minimal and maximal time lags between two activities i and j have the form; s~+SS+S~~S~+SS;~;
si+SF;“5J5si+SFr
fi+FS~ls,~~+FS~;~+FF~~~~~+FF~ where SSF represents a minimal time lag between the start time of activity i and the start time of activity j (similar definitions apply for SST, FSF, etc...). The various time lags can be represented in a standardized form by transforming them to, for instance, minimal start-start precedence relations, using the following transformation rules (Bartusch et al. [4]); si+SS;‘“is,*si+I,Csj
with I,= - SSF
si+SSy?sj*sj+lji5si
with lji=SSrU
si+SF~5~=+si+lu~sj
with l,=SFp
si+SF~“~~=ssj+lji~si
with lji=dj - SF;”
~+FS~~sj~si+lij~sj
with l,=di+FSFn
~+FS~~sj~sj+lji~si
with l,=-di-
- dj
FSY
~+FF~~~=asi+l,~sj
with lii=di-dj+FFy
A+ FF~~j+sj+lji~si
with lji=dj - di - FFY”
In this way, all GPRs are consolidated in the expression si+Zii~sj,where I, denotes a minimal star-start time lag originating from one of the GPRs. Applying these transformation rules to an activity network with GPRs results in a so-called constraint digraph, which is short for digraph of temporal constraints (Bartusch et al. [4]). To ensure that the dummy start and finish activities correspond to the beginning and the completion of the project, we assume that there exists at least one path with nonnegative length from node 1 to every other node i and at least one path from every node i to node n which is equal to or larger than d,. If there are no such paths, we can insert arcs (1,i) or (i,n) with weight zero and di respectively. P(i) = (jl(j,i) E E} is the set of all immediate predecessors of node i, Q(i) = Gl(i,j) E E) is the set of all its immediate successors. If there exists a path from i to j, then we call i a (not necessarily immediate) predecessor of j and j a successor of i. If the length of the longest path from i to j is non-negative, i is called a real predecessor ofj, and j is called a real successor of i. Otherwise it is a fictitious one. (These definitions differ slightly from the ones used by Zahn [14] and Neumann and Zahn [16]). 3. TEMPORAL
ANALYSIS
IN PROJECTNETWORKS
WITHGENERALIZEDPRECEDENCERELATIONS
A schedule S= (s,, sz,..., s,) is called time-feasible, if the activity start times satisfy all GPRs, i.e. if they satisfy the following conditions; si=O Vi E V
(1)
si+lii5sj V(ij)EE
(2)
where (1) ensures that no activity starts before the current time (time zero), and (2) denotes the precedence constraints in standardized form. The minimum start times (s,, So,...,s,) satisfying both (1) and (2) form the early start schedule ESS=(es,, es*,..., es,) associated with the temporal constraints. The calculation of an ESS can be related to the test for existence of a time-feasible schedule. The earliest start of an activity i can be computed by finding the longest path from node 1 to node i. We also know that there exists a time-feasible schedule for G iff G has no cycle of positive length (Bartusch et al. [4]). Therefore, if we compute the matrix D=[d,], where di/denotes the longest path length from node i to nodej, a positive path length from node i to itself indicates the existence of a cycle of positive length and, consequently, the non-existence of a time-feasible schedule. The computation of D can be done by standard graph algorithms for longest paths in (cyclic) networks, for instance by the Floyd-Warshall algorithm (for details, see Lawler [46]), which takes 0(n3) time.
Bert de Reyck and Willy Herroelen
4
4. THE RCPSP-GPR The resource-constrained project scheduling problem with generalized precedence relations (RCPSPGPR) can be conceptually formulated as problem Pl .
Problem Pl. Minimize s,
(3)
Subject to s,+Z,,ls, V(ij) E E
(4)
iZ$,,rinQ, k= 1,2,..., m t= 1,2,..., T
(5)
s,=o
(6)
s,e.N i=1,2,...,n
(7)
where fVdenotes the set of natural numbers, S(t) is the set of activities in progress in time period ]t - 1, t] and T is an upper bound on the project duration, for instance T=izv max[ di, ,y;; (iii) ). The objective function given in (3) corresponds to the project duration. The precedence constraints are denoted in standardized form by (4), while (5) represents the resource constraints. The resource requirements and availabilities are assumed to be constant over time, though this assumption can be relaxed using GPRs without having to change the solution procedures (Bartusch et al. [4]). (6) forces the dummy start activity to begin at time zero and (7) ensures that the activity start times assume non-negative integer values. Once started, activities run to completion (no preemption). Activity ready times and deadlines (as well as a project deadline) need not be specified separately, but can be modelled using minimal start-start and maximal start-finish time lags between the dummy start activity and the activity in question equal to the specified ready time or deadline. Pl is known to be strongly NP-hard, and even the decision problem of testing whether a RCPSP-GPR instance has a feasible solution is NP-complete (Bartusch et al. [4]). Optimal procedures for Pl were presented by Bartusch et al. [4] and De Reyck and Herroelen [17]. Heuristic procedures were presented by Zhan [14], Brinkmann and Neumann [13], Neumann and Zhan [ 161, Franck and Neumann [21] and Schwindt and Neumann [20]. 5. THE UNCONSTRAINED
MAX-NPV
PROJECT
SCHEDULING
PROBLEM
WITH
GPRs
The unconstrained max-npv project scheduling problem with GPRs involves the scheduling of project activities subject to GPRs in order to maximize the net present value (npv) of the project, under the assumption that no constraints on the usage of resources are imposed. Each activity has a terminal cash flow ci, which can be positive or negative. A conceptual formulation of the unconstrained max-npv project scheduling problem can be formulated as problem P2. Problem P2. Maximize :gi c,e - ol~+da’
(8)
Subject to si+ l,5sj V(Q) E E
(9)
s, =o
(10)
s,lDL
(11)
S,EN i=1,2,...,n
(12)
The objective function (8) is to maximize the npv of the project. The constraint set (9) maintains the GPRs among the activities. (10) forces the dummy start activity to begin at time zero and (11) limits the project duration to a negotiated deadline DL. Although the negotiated deadline can be modelled using GPRs, it is stated explicitly in the problem formulation of P2 because it is an essential part of the maxnpv problem. When we maximize the npv of a project, it is possible that in the optimal schedule, part of the project (with a negative npv) is delayed up to the project deadline. If there is no such deadline, that part of the project will be delayed up to infinity and will never be completed. We assume that the project
An optimal procedure for the RCPSPLX-GPR
5
needs to be completely executed, and therefore, we explicitly include a project deadline in the problem formulation. (12) ensures that the activity start times assume non-negative integer values. De Reyck and Herroelen [19] developed an optimal procedure for P2 based on the concepts and procedures developed by Grinold [24], Elmaghraby and Herroelen [25], Herroelen and Gallens [26] and Herroelen er al. [28] for the unconstrained max-npv project scheduling problem with zero-lag finish-start precedence constraints. We will use this procedure in order to compute an upper bound on the project npv in the branch-and-bound procedure for the RCPSPDC-GPR. For ease of reference, a description of the procedure is given in the Appendix. More detailed information and computational experience can be found in De Reyck and Herroelen [ 191. 6. THE RCPSPDC-GPR 6.1. Definition The resource-constrained project scheduling problem with discounted cash flows and generalized precedence relations (RCPSPDC-GPR) can be formulated as problem P3.
Problem P3. Maximize :.gi c,e - a(fi+di)
(13)
Subject to si+l+sj V(ij)E E
(14)
,X,) ri,+aL, k= 1,2,.. .,m t= 1,2,. . .,T
(15)
s,=o
(16)
s,cDL
(17)
s,eIV i=1,2,...,n
(18)
P3 is identical to P2 except for (15) which implements the resource constraints. P3 is clearly NP-hard in the strong sense. If, for instance, only a positive cash flow is associated with the dummy end activity, the problem reduces to the RCPSP-GPR since the objective then is to minimize the completion time of the dummy end activity, i.e. minimizing the project makespan. If all precedence relations are of the zerolag finish-start type, the problem reduces to the RCPSPDC. Also the corresponding feasibility problem, i.e. the decision problem of testing whether P3 has a feasible solution, is NP-complete. 6.2. A branch-and-bound procedure To the best of our knowledge, an algorithm for project scheduling with resource constraints, discounted cash flows as well as GPRs has not yet been presented in the literature. Algorithms for the RCPSPDC with zero-lag finish-start precedence constraints only do exist, the most efficient of which seems to be the branch-and-bound procedure of Icmeli and Erengtlg [34]. Their algorithm extends the procedure of Demeulemeester and Herroelen [47] originally developed for the RCPSP, by adapting the branching strategy to cope with the max-npv criterion. The authors use the procedure of Grinold [24] for the unconstrained max-npv project scheduling problem to compute upper and lower bounds on the project npv. We present a new depth-first branch-and-bound procedure for P3 based on the concepts developed in De Reyck and Herroelen [17] for the RCPSP-GPR and on the procedure for the unconstrained maxnpv project scheduling problem with GPRs of De Reyck and Herroelen [ 191. 6.2.1. The search tree. The nodes in the search tree represent the initial project network, described by the matrix D= [d,], extended with extra (zero-lag finish-start) precedence relations to resolve a number of resource conflicts, which results in an extended matrix D’. Nodes which represent time-feasible (no violated maximal time lags) but resource-infeasible project networks and which are not fathomed by any node fathoming rules described below (further referred to as an undominated node) lead to a new branching. Therefore each (undominated) node represents a time-feasible, but not necessarily resourcefeasible project network. Resource conflicts are resolved using the concept of minimal delaying alternatives, i.e. minimal sets of activities which, when delayed, release enough resources to resolve the resource conflict (and which do not contain any other delaying alternative as a subset). Each of these
Bert de Reyck and Willy Herroelen
6
minimal delaying alternatives is then delayed (by delaying each of the activities in the delaying alternative using extra zero-lag finish-start precedence relations i
by each of the activities also belonging to the conflict set S(t*), the set of activities in progress in period ]t* - 1, t*] (the period of the first resource conflict), but not belonging to the delaying alternative. Therefore, each minimal delaying alternative can give rise to several minimal delaying modes. A similar strategy was devised by Icmeli and Erengtic for solving the RCPSPDC with zero-lag finish-start precedence constraints. Assume, for example, that in a certain period It* - 1, t*], 4 activities are in progress and cause a resource conflict: s(t*) = { 1,2,3,4). Suppose that the minimal delaying alternatives are ( 1 ), [ 2) and (3, 41, i.e. delaying activity 1, activity 2 or activities 3 and 4 simultaneously releases enough resources to resolve the resource conflict. The delay of activity 1 is established by adding a precedence relation between activities 2,3 and 4 and activity 1. We therefore create three new nodes, one with the precedence relation 2< 1, one with the precedence relation 3 < 1 and one with the precedence relation 4X 1. Delaying activity 2 is accomplished by creating 3 new nodes with the extra precedence relations 1<2, 3<2 and 4<2. Delaying activities 3 and 4 is accomplished by creating two new nodes with the extra precedence relations 1~3 and 1x4, and 213 and 2x4 respectively. In total, 8 new nodes (minimal delaying modes) are created, as illustrated in Fig. 1. The delaying set DS of all minimal delaying alternatives can be computed as follows; DS=
DdC S(t*) and V resource type k: ,&
r, - is r,la, d
and VDd, E DSI( Dd}:Dd, Q!Dd
The set of minimal delaying modes equals: M= (M,IM,,,= { k
6.2.2. Branching strategy. Each time-feasible minimal delaying mode with an upper bound ub higher than an already obtained lower bound lb on the project npv is considered for further branching. If the node represents a project network in which there is a resource conflict, a new branching occurs. If it represents a feasible schedule, the lower bound lb is updated and the procedure backtracks to the previous level in the search tree. If at a certain level in the search tree there are no delaying modes left to branch from, the procedure backtracks to the previous level in the search tree and reconsiders the other delaying modes pending at that level. The procedure stops when it backtracks to level 0. The computation of the upper bound ub on the project npv is not made upon creation of a node, but
delaying alternative 1
delaying alternative2
8 delaying modes Fig.
1.Delaying strategy for the RCPSPDC-GPR.
An optimal procedure for the RCPSPDC-GPR
7
is deferred until a decision has been made to actually branch from it. The rationale behind this is that computing ub implies computing the entire matrix D, which is a time- and memory-consuming procedure. Supported by extensive computational tests, we defer the computation of ub and D until the node is actually selected for branching. As a result, another criterion will have to be used in order to select the node to branch from at a certain level. A node should be selected for branching when it entails a high chance of finding a feasible solution with a high npv. Therefore, delaying activities which carry negative cash flows is to be preferred to delaying activities with positive cash flows since the latter will negatively affect the npv of the project. In general, the higher (more positive) the cash flows of the delayed activities, the more likely the project npv will decrease. Therefore, we have chosen as a branching criterion the sum of the cash flows associated with the activities that have to be delayed, the smallest sum being chosen first. Extensive experiments have revealed that a more sophisticated way of estimating the effect of delaying activities on the project npv does not yield better results. 6.2.3. Node fathoming rules. Nodes are fathomed when they represent a time-infeasible project network or when their upper bound ub does not exceed an already obtained lower bound lb. Nodes which are not fathomed and still represent an infeasible project network are considered for further branching. Three additional node fathoming rules given as Theorems 2,3 and 4 and a procedure, Theorem 5, which reduces the solution space and which can be executed as a preprocessing rule are added. Proofs for these Theorems can be found in De Reyck and Herroelen [ 171. As activity overlaps are allowed (d,
Theorem 2. If there exists a minimal delaying alternative D, with activity i E Dd but its real successor
j @D,, we can extend D, with activity j. If the resulting delaying alternative becomes non-minimal as a result of this operation, it may be eliminated from further consideration.
As a result of activity overlaps, it is possible that a certain minimal delaying alternative Dd gives rise to two delaying modes M,, and M,,,,, in which the delaying activities i (i
Theorem 3. When a minimal delaying alternative D, gives rise to two delaying modes M,,,, and M,,,, with delaying activities i and j respectively, mode M,,,2 is dominated by mode M,,,, tff d, + d,rd,. Each node in the search tree represents the initial project network extended with a set of (zero-lag finish-start) precedence constraints to resolve resource conflicts. Therefore, it is possible that a certain node represents a project network which was examined earlier at another node in the search tree. We know that identical sets of added precedence constraints lead to identical project networks. Moreover, the following Theorem can then be applied.
Theorem 4. Zf the set of added precedence
constraints which leads to the project network in node x
contains as a subset another set of precedence constraints leading to the project network in a previously examined node y in another branch of the search tree, node x can be fathomed.
Before initiating the branch-and-bound procedure, the solution space can be reduced by simultaneously examining the GPRs and the resource requirements. If on the one hand, two activities i and j can never overlap because of the resource constraints, while on the other hand, the GPRs allow for an overlap, then the precedence relations can be tightened to avoid the overlap. This allows us to state the following Theorem, which can be executed as a preprocessing rule.
Theorem 5. If 3i,jE V and resource type k for which r, + rjk> a, and - d,
we can set l,=di
without changing the optimal solution of P3. The detailed algorithmic steps of the branch-and-bound procedure are given below. The longest path length between two activities i and j is given by d[p][i]b], where p denotes the level in the search tree. For each level p, a matrix d[p] will have to be stored. Step 1. Initialisation Let lb= - 9999 be a lower bound on the project npv. Set the level of the branch-and-bound tree p=O.
Bert de Reyck and Willy Herroelen Compute the constraint digraph cd (O(IEI)). Compute d[O], the longest path matrix at level 0 using the Floyd-Warshall algorithm (O(n3)). If the project is not time-feasible (i.e. 3i~ Vtd[O][i][i]>O), STOP. Preprocessing: reduce the solution space by adjusting d[O] (O(n’m)): V(ij>lijE V and 3 resource type k: r,+rj$a, and - djO), STOP Compute an upper bound on the project npv using the algorithm for P2 of De Reyck and Herroelen [ 191 (see Appendix) and go to STEP 3. Step 2. Temporal analysis Compute dfp], the extended longest path matrix at level p, as follows (O(n 21Ddl)): VijEV: d[p][i][j]=d[p- I][i]b]. Vijev ZED,: d[p][i][i]=max{d[p][i][j], d[p - l][i][k]+d,+d[p - 1][1]lJ}, k being the delaying activity. Compute an upper bound ub on the project npv using the algorithm for P2 of De Reyck and Herroelen [ 191. If ubllb, erase the delaying mode and go to STEP 6. Step 3. Resource analysis Determine thefirst period in the optimal schedule for P2 in which a resource conflict occurs, i.e. the first period] r* - 1, t*] for which ,X~+)rik>a, for some resource type k. S(t*), the set of activities in progress in period] t* - 1, t*], is called the conflict set. If there is no conflict, let lb=ub, erase the delaying mode and go to STEP 6. Store d[p]. Step 4. Determine minimal delaying alternatives and minimal delaying modes Increase the branch level of the search tree: p =p + 1. Determine DS, the minimal delaying set, i.e. the set of minimal delaying alternatives: DS=
[
Dd DdC S(P) and V resource type k: ,&
{I
r, - is
d
r&a, and VDd,E DA{ Dd) :D,, @_Dd II
Extend all minimal delaying alternatives using Theorem 2 and eliminate all resulting non-minimal delaying alternatives. Determine A4,the set of minimal delaying modes:
Eliminate all minimal delaying modes satisfying Theorem 3. Step 5. Evaluate delaying modes
For all delaying modes M, (If the precedence constraints cannot be added, i.e. 31 E D,:k - d[p - l][l][k] (k is the delaying activity), continue with the next delaying mode M,,,. Compute a penalty value as follows: 17= ,z cp If the set of added precedence constraints 0; a previously examined node saved earlier is a subset of the set of added precedence constraints of the current node, continue with the next delaying mode M,. Temporarily store the delaying mode and its penalty value n) Step 6. Branching
If no delaying modes are left to branch from at level p, go to STEP 7. Select the delaying mode I& with the smallest penalty value 17(arbitrary tie-break). Go to STEP 2. Step 7. Backtracking
Decrease the branch level of the search tree: p=p - 1. If pro, STOP with the optimal solution with an npv equal to lb (if lb=- 9999, then there exists no feasible solution). Delete the information which has been previously saved on level p+ 1 for dominance testing. Save the necessary information for node dominance testing on the stack, i.e. the list of added
9
An optimal procedure for the RCPSPDC-GPR Table I. The control parameters of Pt&en/max
[ 151
Problem size-based
Resource-based
Acyclic network-based
Cyclic network-based
Number of activities (n)
Number of resource types (m)
Number of initial and terminal activities Maximal number of predecessors and sttccessors
% maximal time lags
Min./max. number of resources used per activity Resource factor (RF)[49] Resource strength (RS)
Number of cycle stroctores
Min./max. number of nodes per cycle stmctwe Coefficient of cycle stmctorc density [ 151 Cycle stmcture tightness [ 151
Order strength (OS)” [50]
[48]
‘Schwindt [ 151 uses an estimator for the restrictiveness [51] as a network complexity measure. However, De Reyck [52] has shown that this measure is identical to the order strength ([SO]). the flexibility ratio [53] and the density [54]. We will use order strength when referring to this measure.
precedence constraints of the node reached upon backtracking. Erase d[p] and go to STEP 6. 7. COMPUTATIONAL
EXPERIENCE
7.1. Benchmark problem set Schwindt [ 151 developed a problem generator ProGen/max which can randomly generate instances of various types of generalized resource-constrained project scheduling problems, based on the problem generator ProGen for the RCPSP developed by Kolisch et al. [48]. Two methods are proposed: DIRECT, which directly generates entire projects, and CONTRACT, which first generates cycle structures (strongly connected networks), upon which the (acyclic) contracted project network is generated. Several control parameters can be specified, as indicated in Table 1. OS is defined as the number of precedence relations, including the transitive ones, divided by the theoretical maximum of such precedence relations, namely n(n - 1)/2, where n denotes the number of activities (Mastor [50]). OS is computed based on the acyclic skeleton of the networks. The resource factor, RF, reflects the average portion of resources requested per activity. If RF= 1, then each activity requests all resources. RF=0 indicates that no activity requests any resource. The resource strength, RS, is defined by Kolisch et al. [48] as (ak - rp)/(ry - rp), w h ere ak is the total availability of renewable resource type k, rpi”= iyf!n r, (the maximum resource requirement for each resource type), and ry is . . the peak demand for resource type k in the precedence-based early start schedule. Hence, with respect to one resource the smallest feasible resource availability is obtained for RS=O. For RS= 1, the problem is no longer resource-constrained.We generated 5,760 problem instances using the DIRECT method using the control parameters given in Table 2. For each combination of control parameter values 10 problem instances have been generated. The indication [x, y] means that the value is randomly generated in the interval [x, y], whereas n; y; z means that three settings for that parameter were used in a full factorial experiment. The parameters used in the full factorial experiment are the number of activities as a problem size-based measure, the order strength (OS) as an acyclic network-based measure, the percentage of maximal time lags as a cyclic network-based measure and the resource factor (RF) and the resource Table 2. The parameter settings of the benchmark problem set Control parameter
Value
Number of activities Activity durations Number of resource types Minimal/maximal number of resources used per activity Activity resource demand
lo;u);30;50 11,101 mu.5i l/5 [1*101 0.25; 0.50; 0.75; 1.00 0.25; 0.50; 0.75
RF RS Number of initial and terminal activities Maximal number of predecessors and successors OS + maximal time lags Number of cycle stntctores Minimal/maximal number of nodes per cycle sttuctore Coefficient of cycle stmcture density Cycle structure tightness
WI 3 0.25; 0.50; 0.75 0%; 10%; 20%; 30% [O,lOl 2/50 0.3 0.5
10
Bert de Reyck and Willy Herroelen Table 3. The results with the truncated version of tbe branch-and-bound procedure Time limit
IS
Problems solved to optimality Unsolved problems Average CPU-time (in s)
4155 (*72’S) 24 (iO.446) 0.40
10s
100s
4836 (i84%) 13 (*0.2%) 2.10
5244 (*91%) 7 (*o.l%) 12.08
strength (RS) as resource-based measures (indicated in bold in Table 2). The cash flows for each of the activities are generated randomly from the interval [ - 500, +500]. 7.2. The RCPSPDC-GPR results The procedure was programmed in Microsoft@Visual C ++2.0 under Windows NT for use on a Digital Venturis Pentium-60 personal computer. The code itself requires 109 Kb of memory, whereas 10 Mb are reserved for the storage of the search tree. Solving all problem instances of the problem set to optimality (especially the 50-activity problem instances) is probably beyond the capabilities of current branch-andbound procedures. Even for the classic RCPSP, the RCPSPDC or the RCPSP-GPR, there are problem instances with 50 activities that are not amenable to optimal solution within acceptable computational effort. As an example, the RCPSP problem set of Kolisch et al. [48], which consists of 480 instances with 30 activities has only recently been solved to optimality by Demeulemeester and Herroelen [55]. Therefore, given the higher complexity of P3, it is to be expected that a similar set consisting of 30-activity RCPSPDC-GPR instances will not be solved to optimality within acceptable computation times. 7.2.1. Basic results. We report in Table 3 the results of our procedure when truncated after a specific amount of running time (1, 10 and 100 s). The reported values include the number of problems solved to optimality (including the problems proven to be infeasible), the number of unsolved problems (for which a feasible solution was not obtained within the given time limit and for which infeasibility has not been proved either) and the average CPU-time. Figure 2 displays the significant effect of the problem size on the number of problems solved to optimality. 7.2.2. The impact of OS. Figure 3 displays the impact of OS on the complexity of P3. It was already established that for Pl (the RCPSP-GPR), OS has a negative correlation with the problem hardness, that is, the higher OS, the easier the corresponding RCPSP-GPR instance (De Reyck and Herroelen [18]). However, for P2 (the unconstrained max-npv project scheduling problem), an opposite effect can be
0
10 activities
IEz
20 activities
30 activities
Ei
50 activities
1400 b 2 ._
1200
B s
1000
13 P 2
800
E L? c, f! a
600
400
200
L
0
1 second
10 seconds
100 seconds
Time limit Fig. 2. The effect of problem size on the number of problems solved to optimality.
An
11
optimal procedure for the RCPSPDC-GPR
2400 ~os=o.25
x .Z 2 .s 8 B B >
~os=o.50
mos=o.75
2000 1
1600 1387
1390
1378
1200
B z z e a
800
400
0
I second
10
seconds
Time limit
I
100 seconds
Fig. 3. The effect of OS on the number of problems solved to optimality.
observed (De Reyck and Herroelen [ 191). Therefore, it would be interesting to see how these two effects interact to determine the effect of OS on the computational complexity of P3. In accordance with the results for the RCPSP-GPR, it is to be expected that OS will have a negative correlation with the number of nodes in the search tree. However, the time spent per node will increase when OS increases, due to the increased time needed to solve the unconstrained max-npv project scheduling problem. Figure 3 clearly indicates that OS has no significant impact on the required CPU-time to solve the RCPSPDC-GPR instances. This means that, on the average, both opposite effects of OS neutralize each other. 7.2.3. The impact of the percentage of maximal time lags. The effect of the percentage of maximal time lags (Fig. 4) on the computational complexity of P3 is neither monotonically increasing nor decreasing. On the contrary, a kind of bell-shaped curve seems to result. When maximal time lags are introduced, the number of problems solved to optimality increases up to a certain point, beyond which it decreases again. The initial rise in performance can be understood if we remember that in the branchand-bound procedure several dominance rules and lower bounds are used which require the existence of maximal time lags in order to be applicable. This makes the procedure more effective and efficient when
1600 ,e -z
1400
0
0% maximal time lags
m
20% maximal time lags
m
10% maximal time lags
m
30% maximal time lags
L
.z 1200 & r? 1000 -0 : a 800 5 z ae
600 400 200 0 1 second
10 seconds
100 seconds
Time limit Fig. 4. The effect of % maximal time lags on the number of problems solved to optimality.
Bert de Reyck and Willy Herroelen
12
‘*O” rI 1600 g
~F=0.25
mRF’o.50
mRF=0.75
~RF=
1.00
IIA17
. ._.
1386
1400 1266
: g
1200 -
0 g
1000
-
s > 51
800
-
f
600 -
8 i:
400 -
”
1 second
10 seconds
100 seconds
Fig. 5. The effect of RF on the number of problems solved to optimality.
such time lags are introduced. However, when there are many maximal time lags, the increased problem complexity (there are less feasible solutions, making it harder to find good ones which can be used to dominate other nodes using its lb and Theorem 5) leads to a decrease in efficiency and consequently, a decrease in the number of problems solved to optimality. A similar effect was found to exist for the RCPSP-GPR (De Reyck and Herroelen [ 181). 7.2.4. The impact of RF and RS. The effect of RF (Fig. 5) is similar to the results reported by Kolisch et al. [48] and De Reyck and Herroelen [56] for the RCPSP and to the findings of De Reyck and Herroelen [18] for the RCPSP-GPR. The higher RF, the more difficult P3. An opposite effect can be observed for RS (Fig. 6), as was also observed by Kolisch et al. [48] for the RCPSP and by De Reyck and Herroelen [ 181 for the RCPSP-GPR. The strong effects of RF and RS, and even more pronounced for RS than for RF, lead us to believe that the effect of resource-based measures on the computational complexity of the RCPSP-GPR is larger than the effect of network-based measures. A similar observation for the RCPSP has been made by De Reyck and Herroelen [56]. 2400 2200 x ‘2
nRRSz0.25
mRS=0.50
mRS=0.75
2000 1650
$ 8 2
1600 1800
$
1200
2
1000
s; CI e a
800
1831
1883
1400
600 400 200 0 1 second
10 seconds
100 seconds
Time limit Fig. 6. The effect of RS on the number of problems solved to optimality.
An optimal procedure for the RCPSPDC-GPR
13
7.2.5. The impact of the cashjow distribution. In the experiment described above, the cash flows for each of the activities were randomly generated from the interval [ - 500, +500]. This means that, on the average, 50% of the activities have a negative cash flow associated with it. In practice, the distribution of the cash flows may take very different forms, depending on the contract and payment structure of the project. In some projects, there may be few activities, if any, with a negative cash flow, whereas in other projects, all the activities except for the last activity of the project carry negative cash flows (for a clarifying review of the different types of contracts and payment structures, we refer the reader to Herroelen et al. [22]). In order to examine the impact of different cash flow distributions on the complexity of P3, we randomly generated the cash flows for each of the activities from the interval [0, +500], and assigned a negative cash flow to some activities by reversing the sign of the associated cash flow. The number of such activities was varied from 0% to 100% in steps of 10%. De Reyck and Herroelen [19] examined the impact of the percentage of activities with a negative cash flow on the computational effort to solve P2. It was shown that projects with either few or many activities with negative cash flows constitute the easier instances, whereas problems with a mixture of activities with positive and negative cash flows constitute the most difficult ones. Figure 7 shows the effect of the percentage of activities with a negative cash flow on the computational effort to solve a representative instance of P3 (similar results are obtained for other instances). A different curve is shown for different values for the project deadline DL (ranging from 21, the smallest feasible project makespan, to 35). The effect of the percentage of negative cash flow activities is U-shaped, implying that, contrary to P2 (the unconstrained max-npv project scheduling problem), projects with few or many activities with a negative cash flow are the most difficult instances. This result is due to the fact that when there are both activities with negative and positive cash flows, the optimal schedule may ‘disconnect’ in the sense that some activities are scheduled as close as possible to time zero, whereas others are scheduled as close as possible to the project deadline. Consequently, the problem may decompose into two less complex problems. This only occurs, however, when the project deadline is high enough such that the optimal schedule can indeed split up into two separate parts. When the deadline is close to the makespan of the optimal solution for Pl, no such U-curve will result.
7.2.6. The impact the project deadline difficult, which was effect of the project critical path length)
of the project deadline. Another conclusion we can draw from Fig. 7 is that when increases, the solution space expands and the problem becomes inherently more already observed by Icmeli and Erengtic [34] for the RCPSPDC. Figure 8 shows the deadline on the computational complexity of P3 when it is increased from 19 (the to 40. Several curves are shown, each corresponding to a different percentage of
DL=35 DL=30 DL=29 DL=20 DL=27 DL=26
DL=25
DL=24 DL=23 DL=22 DL=21
%activitiee
with
negativecash flow
Fig. 7. The effect of the percentage of negative cash flow activities on the problem complexity.
Bert
de Reyck and Willy Herroelen
30%
60%
70%
Fig. 8. The effect of the project deadline on the problem complexity.
activities with a negative cash flow. Using a deadline of 19 or 20, however, no (resource-)feasible solution can be obtained. For some settings of the percentage of negative cash flow activities, a continuous increase in CPU-time can be observed, which levels out after the deadline reaches a specific value. For other settings, the required CPU-time decreases again beyond some critical value of the deadline. When the percentage of negative cash flow activities is either low or high (the most difficult problem instances), the optimal schedule will not disconnect into two separate parts. Increasing the project deadline then extends the solution space until the deadline reaches a magnitude beyond which only an incremental expansion of the solution space can be observed. The required CPU-time then levels off. When approximately 50% (the easier problem instances) of the activities have a negative terminal cash flow, the optimal schedule often disconnects (provided that the project deadline is high enough), thereby reducing the problem complexity because less resource conflicts (and less severe ones) will occur. Therefore, when the deadline reaches some critical value, the optimal schedule disconnects and the problem complexity decreases. 8. CONCLUSIONS
In this article we present a branch-and-bound procedure for the RCPSPDC-GPR, the resourceconstrained project scheduling problem with discounted cash flows and generalized precedence relations. The RCPSPDC-GPR extends the RCPSP to (a) arbitrary minimal and maximal time lags between the starting and completion times of activities and (b) the non-regular objective function which maximizes the net present value of a project. The procedure is a depth-first branch-and-bound algorithm in which the nodes in the search tree represent the original project network extended with extra precedence relations which resolve a number of resource conflicts. Resource conflicts am resolved using the concept of minimal delaying modes. Several dominance rules are used to fathom large portions of the search tree. For each project network in each node of the search tree, an upper bound on the project net present value is computed by relaxing the resource constraints using the optimal procedure for the (resource-) unconstrained project scheduling problem with generalized precedence relations of De Reyck and Herroelen [19]. Extensive computational results are reported using a problem set consisting of 5,760 randomly generated instances with up to 50 activities, generated using a full factorial design of what are believed to be important parameters influencing the complexity of related resource allocation problems such as the RCPSP and the RCPSP-GPR. The computational results obtained using a truncated version of the proposed procedure indicate that the algorithm is capable of solving many of the problem instances to optimality. Moreover, the performance of the procedure is not significantly inferior to the procedure for the RCPSP-GPR of De Reyck and Herroelen [17], which is only suited for minimizing the project
An optimal procedurefor the RCPSPDC-GPR
15
makespan or other regular measures of performance. This suggests that the truncated branch-and-bound procedure is a valuable candidate for solving relatively large instances of the RCPSPDC-GPR next to other suboptimal procedures such as priority rule-based heuristics or local search. Acknowledgements-We would like to thank two anonymous referees for theii constructive comments and helpful suggestions in improving the readability of this article. REFERENCES 1. Kelley, J. E. Jr. and Walker, M. R., Critical path planning and scheduling. Proceedings of the Eastern Joint Computing Conference, 1959.16, 160-172. 2. Malcolm, D. G., Roseboom, J. H., Clark, C. E. and Faxar, W., Applications of a technique for R and D program evaluation (PERT). Operations Research, 1959.7.646-669. 3. Elmaghraby, S. E. and Kamburowski, J., The analysis of activity networks under generalized precedence relations. Management Science, 1992,38, 1245-1263. 4. Bartusch, M., Mohring. R. H. and Radermacher, F. J., Scheduling project networks with resource constraints and time windows. Annals of Operations Research, 1988,16,201-240. 5. De Reyck, B., Project scheduling under generalized precedence relations-”
review: Part I and 2. Research Reports 9517 and 95 18. Department of Applied Economics, Katholieke Universiteit Leuven, 1995. 6. Neumann, K. and Schwindt, C., Activity-on-mode networks with minimal and maximal time lags and their application to maketo-order-production. OR Specrrum, 1997,19,205-217. 7. Kerbosh, J. A. G. M. and Schell, H. J., Network planning by the Extended METRA Potential Method. Report KS-1.1, University of Technology Eindhoven, Department of Industrial Engineering, 1975. 8. Roy, B., Graphes et ordonnancement. Revue Franpise de Recherche Opkrationelle, 1%2,323-333. 9. Crandall, K. C., Project planning with precedence leadflag factors. Project Manageman? Quarterly, 1973,4, 18-27. 10. Elmaghraby, S. E., Activity Networks: Pmject Planning and Control by Network Models. Wiley, New York, 1977. Il. Wiest, J. D., Precedence diagramming methods: some unusual characteristics and their implications for project managers. Journal of Operations Management, 1981,1, 121-130. 12. Moder, J. J., Phillips, C. R. and Davis, E. W., Pmject management with CPM, PERT and precedence diagmmming, 3rd ed. Van Nostrand Reinhold Company, 1983. 13. Brinkmann, K. and Neumann, K., Heuristic procedures for resource-constrained project scheduling with minimal and maximal time lags: the minimum proiect-duration and resource-levelling problem. Journal ofDecision Svsrems, 1996. 129-156. 14. Zhan, i., Heuristics for scheduling resource-constrained projects in MPM networks. Eum&n Jour&j of Operational Research, 1994.76,
192-205.
15. Schwindt, C., Generation of resource-constrained project scheduling problems with minimal and maximal time lags. Technical Report WIOR-489, Institut fur Wirtschaftstheorie und Operations Research, Universitit Karlsruhe, 1996. 16. Neumann, K. and Zhan, J., Heuristics for the minimum project-duration problem with minimal and maximal time lags under fixed resource constraints. Journal of btrelligent Manufacturing, 1995.6. 145-154. 17. De Reyck. B. and Herroelen, W., A branch-and-bound algorithm for the resource-constrained project scheduling problem with generalized precedence relations. European Journal of Operational Research, 1997, to appear. 18. De Reyck, B. and Herroelen. W., Computational experience with a branch-and-bound algorithm for the resource-constrained project scheduling problem with generalized precedence relations. Research Report 9628, Department of Applied Economics, Katholieke Universiteit Leuven, 1996. 19. De Reyck, B. and Herroelen, W., An optimal procedure for the unconstrained max-npv project scheduling problem with generalized precedence relations. Research Report 9642, Department of Applied Economics, Katholieke Universiteit Leaven, 1996. 20. Schwindt, C. and Neumann, K., A new branch-and-bound-based heuristic for resource-constrained project scheduling with minimal and maximal time lags. In Fifrh Inrernational Workshop on Pmject Management and Scheduling, Poznan, 11-13 April, 1996, pp. 212-215. 21. Franck, B. and Neumann, K., Priority-rule methods for the resource-constrained project scheduling problem with minima1 and maximal time lags-an empirical analysis. In Fifth International Workshop on Project Management ana’ Scheduling, Poznan. 1l-13 April, 1996, pp. 88-91. 22. Herroelen, W., Demeulemeester, E. and Van Dommelen, P., Project network models with discounted cash flows: A guided tour through recent developments. European Journal of Operational Research, 1997,100,97-121. 23. Russell, A. H., Cash flows in networks. Management Science, 1970.16.357-373. Grinold, R. C., The payment scheduling problem. Naval Research Logistics Quarterly, 1972.19, 123-136. :: Elmaghraby, S. E. and Herroelen, W., The scheduling of activities to maximize the net present value of projects. European Journal of Operational Research. 1990,49,3549.
26. Herroelen, W. and Gallens, E., Computational experience with an optimal procedure for the scheduling of activities to maximize the net present value of projects. European Journal of Operational Research, 1993,65,274-277. 27. Kazaz, B. and Sepil, C., Project scheduling with discounted cash flows and progress payments. Journal of Operational Research Society, 1996.47,
1262-1272.
28. Herroelen. W.. Demeulemeester, E. and Van Dommelen, I?, An optimal recursive search procedure for the deterministic unconstrained max-npv project scheduling problem. Research Report 9603, Department of Applied Economics, Katholieke Universiteit Leuven. 19%. 29. Doersch, R. H. and Patterson, J. H., Scheduling a project to maximize its present value: a zero-one programming approach. Management Science, 1977.23,882-889. 30. Smith-Daniels, D. E. and Smith-Daniels, V. L.. Maximizing the net present value of a project subject to materials and capital constraints. Journal of Operations Management, 1987.7,33-45. 31. Patterson, J. H., Slowinski, R., Talbot, F. B. and Weglatz. J., Computational experience with a backtracking algorithm for solving a general class of precedence and resource-constrained scheduling problems. Eumpean Journal of Opemtional Research. 1990.49.68-79. 32. Patterson, J. H., Slowinski, R.. Talbot, F. B. and Weglarz, J., An algorithm for a general class of precedence and resourceconstrained scheduling problems. In Advances in Pmject Scheduling, ed. R. Slowinski and J. Weglatz. Elsevier, Amsterdam,
Bert de Reyck and Willy Herroelen
16
1990, pp. 3-28. 33. Yang, K. K., Talbot, F. B. and Patterson, J. H., Scheduling a project to maximize its net present value: an integer programming approach. European Journal of Operational Research, 1992.64, 188-198. 34. Icmeli, 0. and Erenglic, S. S., A branch-and-bound procedure for the resource-constrained project scheduling problem with discounted cash flows. Management Science, 1996,42, 1395-1408. 35. S. Baroum and J. H. Patterson, An exact solution procedure for maximizing the net present value of cash flows in a network. In Fifrh International Workshop on Project Management and Scheduling, Poznan, 1l-13 April, 1996, pp. 31-34. 36. Russell, R. A., A comparison of heuristics for scheduling projects with cash flows and resource restrictions. Mancgemenr Science, 1986,32,291-300. 37. Smith-Daniels, D. E. and Aquilano, N. J., Using a late-start resource-constrained project schedule to improve project net present value. Decision Science, 1987, 18,617-630. 38. Padman, R., Smith-Daniels, D. E. and Smith-Daniels, V. L., Heuristic scheduling of resource-constrained projects with cash flows. Naval Research Logistics, 1997.44, 365-381. 39. Padman, R. and Smith-Daniels, D. E., Maximizing the net present value of capital-constrained projects: an optimization-guided approach. Working Paper 93-56, Carnegie-Mellon University, 1993. 40. Zhu, D. and Padman, R., Heuristic selection in resource-constrained project scheduling: experiments with neural networks. Working Paper 93-43, Carnegie-Mellon University, 1993. 41. Icmeli, 0. and Erengtlc, S. S., A tabu search procedure for the resource-constrained project scheduling problem with discounted cash flows. Computers and Operations Research, 1994.8.841-853. 42. Ozdamar, L., Ulusoy, G. and Bayyigit, M., A heuristic treatment of tardiness and net present value criteria in resoutceconstrained project scheduling. Working Paper, Department of Industrial Engineering, Marmara University, 1994. 43. Yang, K. K., Tay, L. C. and Sum, C. C., A comparison of stochastic scheduling rules for maximizing project net present value. European Journal of Operational Research, 1995,85,327-339.
44. Ulusoy, Cl. and C)zdamar,L., A heuristic scheduling algorithm for improving the duration and net present value of a project. International Journal of Operations and Production Management, 1995,15,89-98.
45. Sepil, C. and Ortac, N., Performance of the heuristic procedures for constrained projects with progress payments. Working Paper, Middle East Technical University, 1995. 46. Lawler, E. L., Combinatorial Optimization: Networks and Mattoids. Holt, Rinehart and Wtnston, New York, 1976. 47. Demeulemeester, E. and Herroelen, W., A branch-and-bound procedure for the multiple resource-constrained project scheduling problem. Management Science, 1992.38, 1803-1818. 48. Kolisch, R., Sprecher, A. and Drexl, A., Characterization and generation of a general class of resource-constrained project scheduling problems. Management Science, 1995.41, 1693-1703. 49. Pascoe, T. L., Allocation of resources-CPM. Revue Fraqaise de Rechetrhe Operationelte, 1966.38, 31-38. 50. Mastor, A. A., An experimental and comparative evaluation of production line balancing techniques. Management Science, 1970,16,728-746. 51. Thesen, A., Measures of the restrictiveness of project networks. Nerworks, 1977.7, 193-208. 52. De Reyck, B., On the use of the restrictiveness as a measure of complexity for resource-constrained project scheduling. Research Report 9535, Department of Applied Economics, Katholieke Universiteit Leuven, 1995. 53. Dar-El, E. M., MALB-A heuristic technique for balancing large single-model assembly lines. ARE Transactions, 1973, 5. 343-356.
54. Kao, E. P. C. and Queyranne, M., On dynamic programming methods for assembly line balancing. Operations Research, 1982, 30.375-390.
55. Demeulemeester, E. and Herroelen, W., New benchmark results for the resource-constrained project scheduling problem. Management Science, 1997,43, to appear. 56. De Reyck, B. and Herroelen, W., On the use of the complexity index as a measure of complexity in activity networks. European Journal of Operational Research, 1996.91.347-366.
APPENDIX A Procedure for the Unconstrained max-npv Project Scheduling Problem with GPRs
In this appendix, we review the optimal procedure of De Reyck and Hetroelen [19] for maximizing the net present value (npv) in resource-unconstrained project networks with generalized precedence relations. We start in STEP 1 by computing the constraint digraph using the transformation rules discussed in Section 2. The matrix D is computed using the Floyd-Warshall algorithm. If the project is not time-feasible, the algorithm stops. Otherwise, in STEP 2, the early tree, which spans all activity nodes scheduled at their earliest start time, is computed as follows. For every activity i, the highest numbered predecessor j (ji). Searching in reverse order makes sure that no other activity jet’ will be delayed, but the delay of activities j>i cannot always be avoided. After STEP 3 is repeated a sufficient number of times (at most n times), the procedure will enter a recursive search, in which partial trees PT (with a negative npv) will be identified that may be shifted forwards in time in order to increase the npv of the project. When such a partial tree is found, the algorithm computes the maximal shift of the partial tree by identifying the maximal possible increase in the statt times of the activities belonging to the partial tree without violating any of the precedence constraints, keeping all activities not belonging to PT at their current start times. Therefore, we look for a new arc with minimal displacement, i.e. an arc (k,l) (k E PT, Is! PT) with minimal value for d,, - d,, - d,,. We disconnect the partial tree from the remainder of the current tree and we add the arc (k,[) to the current tree, thereby relinking the forward-shifted partial tree to the current tree. The completion
An optimal procedure for the RCPSPDC-GPR
min (d,, - d,k - d,,). If a shift is found and 1% the recursive procedure is restarted until no further shift can be accomplished. Then, the optimal schedule with its npv is reported. The detailed algorithmic steps of the procedure are given below.
times of the activities implemented, corresponding
17
in the partial tree are updated as follows: VjljaPT: d,j=d,,+
Srep I. Computation of matrix D Comnute the constraint digraph cd (O(lEl)). Compute D (O(n?). If the project is not time-feasible (i.e. 3ie V:d,,>O), STOP. Step 2. Early tree computation Compute the early tree as follows (O(n2)): which d,j+dj,=d,,. Link activities j and
For each activity ie v\( I ), determine the highest numbered activity jE V (jci) for i in the early tree. Make the early tree the current tree.
Step 3. Current tree computation Compute a new current tree (o(nr)) by delaying, in reverse order, each activity i with a negative cash flow and no successor in the current tree as much as possible (by increasing d,J, thereby linking it to the activity j preventing a further delay. Remove the link to any predecessor in the-current tree. The delay of activity i equals ,a~, (dc - d,, -d,) If, however, the activity j preventing a further delay of activity i is itself a predecessor of activity i in the current tree, activity i can neither be delayed nor linked to activity j. Rather, activities i and j are fixed at their current start times. If any activity was delayed in this step, repeat STEP 3. Step 4. A=O. Do RECURSION(l)-PT. DC’ (parameters returned by the recursive function) Report the optimal schedule (d, ,,d,*,. .,d,,,) and net present value DC’. STOP. Recursion (newnode) Initialize P T= (newnode), DC=c,,,.,,~~, A =A U (newnode). Do for each successor activity i$A of newnode (in the current tree): RECURSION (i)-PT’, DC’ If DC’s0 set PT=PTUPT and DC=DC+DC’. Else Delete arc(newnode, i) from the current tree. Find a new arc with minimal displacement, i.e. arc (k,l) (k epT, 1ePZ”) with minimal value for d,, - d,k -d,,. Add arc (k,l) to the current tree. Update the completion times of the activities in PT as follows: vjsET’:dU=d,,+
mm Id,,-d,,-d,). ‘W
Go to STEP 4. Do for each predecessor activity is?A of newnode (in the current tree): RECURSION (i)--rPT, DC’ FT=PTUW and DC=DC+DC’. Return.