Managing project activity-duration uncertainties

Managing project activity-duration uncertainties

OMEGA Int..I. of Mgmt Sci., Vol, 21, No. 1, pp. 111-122, 1993 Printed in Great Britain, All rights reserved 0305-0483/93 $6.00+ 0.00 Copyright © 1993...

856KB Sizes 7 Downloads 99 Views

OMEGA Int..I. of Mgmt Sci., Vol, 21, No. 1, pp. 111-122, 1993 Printed in Great Britain, All rights reserved

0305-0483/93 $6.00+ 0.00 Copyright © 1993 Pergamon Press Ltd

Managing Project Activity-Duration Uncertainties H ARSHAM University of Baltimore, Md, USA (Received February 1992; in revised form July 1992) The critical path method (CPM), project evaluation and review technique (PERT), and stochastic PERT, the moot widely used tools for project management, each require different forms of activity duration information: fixed time, three-time estimates and an a pr/or/distribution function, respectively. While PERT and stochastic PERT allow for uncertainty in activity durations unfortunately they require a number of strong statistical assumptions. In this paper, uncertainty in project activity duration is treated in a managerial context rather than as random factors. A linear programmiDg (LP) formulation of the project activity network is constructed and a new simplex-type tabular solution algorithm is developed to find a critical path (CP). While the proposed approach requires a time estimate for each activity duration, it provides the manager with the allowable simultaneous, independent or dependent changes of the estimates that will preserve the current CP. The results of these analyses empower the project planner and manager to assess and monitor various types of activity-duration uncertainties encountered in real life situations. it is assumed the reader is familiar with LP terminology.

Key words--project management, PERT, LP

INTRODUCTION

IN AN ATTEMPT to create order out of chaos, project managers use project planning and control techniques like Gantt charts, CPM (critical path method) or PERT (project evaluation and review technique). The Gantt chart is among the earliest graphic aids to planning. CPM identifies the sequence of activities that will have the longest completion time of the entire project. PERT extends CPM's scope to deal with activity duration uncertainty inherent in any project estimation task. Gaither [9] found that the PERT model ranked above all other quantitative decision making tools in terms of the percentage of firms who used them. The most widely used PERT algorithm, see e.g. [7, 8, 16], is based on a number of strong statistical assumptions: --Each activity duration follows a beta probability density function, see e.g. [24].

--Using three estimates (namely an optimistic, a pessimistic and the most probable duration) for each activity provides a "good" approximation for the mean and standard deviation. --The critical path(s) follow a normal distribution function. - - A project consists of pair-wise independent activities. The validity of these assumptions has been a long lasting question, see e.g. [10-13,26]. In fact, the solution based on this technique may result in the incorrect designation of CP, see e.g. [18], and the fact that the accuracy of the results decrease in relation to increased project complexity. Furthermore, there are some practical problems. For example, when the critical path has several branches, the variance may not be the same for all branches. It is not clear how to resolve the tradeoff between a shorter CP having larger variance. An alternative to the three-term estimate PERT is a stochastic activity network, 111

112

Arsham--ManagingProjectActivity-Duration Uncertainties

see e.g. [1]. This approach assumes the same project is to be performed repeatedly and there is full knowledge of the time distribution function to be used in Monte-Carlo simulation experiments to approximate the expected CP duration. This approach suffers from even more severe practical pitfalls [28], in addition to being computationally expensive. The probabilistic nature in both PERT models assumes random factors (i.e. bad luck, good luck) clearly, this does not allow for any managerially planned point of view to deal with uncertainty, see e.g. [17, 21, 28]. This paper presents a nonstatistical approach we refer to as what-if analysis to analyze various types of durationuncertainties.

What-if analysis As the name implies, what-if analysis (WIA) deals with a collection of managerial questions related to uncontrollable environmental factors in project estimation tasks. There are strong motivations for performing WIA. For example, one may wish to assess and analyze the stability of the critical path(s) under uncertainty. Monitoring the admissible range of activity durations that preserve the current CP would aid in determining how resources should be applied among the activities to expedite the completion of the project and to smooth out work-loads. The WIA can also provide useful limits on simultaneous, dependent departures from the activity duration estimates to determine maximum 'crashing' of critical activity durations, the maximum 'slippage' for non-critical activity durations and the impacts of such departures on the entire project completion time. These needs can be served by performing the following types of WIA: (a) Perturbation analysis. Simultaneous and independent changes in the estimated activity durations in either direction (longer or shorter time to complete) for each activity that will maintain the current CP. This provides the largest set of perturbation. Inclusion of all actual activity durations in this set preserves the current CP. Co) Tolerance analysis. Simultaneous and independent changes expressed as the maximum allowable percentage of the estimated activity duration in either direction (over or under estimation) for each activity that will maintain the current CP.

This provides a range of time for each activity duration.

(c) Individual symmetric tolerance analysis. Simultaneous and independent equal changes expressed as the maximum allowable percentage of the estimated activity durations in both directions (over and under estimation) for each activity duration that will maintain the current CP. This provides a range of time for each activity with the estimated duration at its center. (d) Symmetric tolerance analysis. Simultaneous and independent equal changes expressed as maximum allowable percentage of the estimated activity durations in both directions (over and under estimation) for all activity that will maintain the current CP. This provides one single range of uncertainty for all activities. (e) Parametric analysis. Simultaneous changes of dependent activities durations from their estimated values that will maintain the current CP. This provides the maximum magnitude of change for estimated dependent activity durations. (.I") Ordinary sensitivity analysis. One changeat-a-time in any activity duration while maintaining the current CP. This provides a range for the change of any specific estimated activity duration, holding all other activity durations on target. Even ordinary sensitivity analysis is rarely performed in activity network projects because the existing PERT/CPM algorithms do not contain enough information to perform the calculations necessary for this simplest form of WIA. To the best of our knowledge NETSOLVE (see e.g. [8] or [15]) is the only software available capable of dealing with ordinary sensitivity analysis for CPM. The existing stochastic PERT software packages require a separate run for each scenario if any parameters of the density function are changed (see e.g. [4, 17, 21]). This paper develops an LP simplex-type solution algorithm to find the CP. The algorithm is easy to use and does not introduce any slack or surplus variables (as in the dual simplex method) or artificial variables (as in the simplex method using big-M), therefore it is computationally practical and stable to implement. We present a unified approach to cover all aspects of the WIA. The proposed solution algorithm

Omega, Vol. 21, No. 1 and the WIA in this paper can be viewed as an application and adaptation of ideas given in [2] and [3], respectively. The remainder of this article is divided into six parts. First, based on an estimate for the duration of each activity the CP is obtained. The data manipulation leading to the CP provides the necessary information for the WlA in the next section. This is followed by the parametric analysis, which includes the ordinary sensitivity analysis and the so-called 100% rule. Then we develop the tolerance analysis and, as its byproducts, we obtain the individual and symmetric tolerance analyses. This is followed by a discussion of some potential applications. The last section provides a summary of our findings. The proofs and a detailed worked-out numerical illustrative example are given in the Appendix. Throughout the paper the emphasis is on constructive procedures, proofs and a small numerical example since they lead directly to useable and efficient computer programs. PROBLEM FORMULATION AND A NEW SOLUTION ALGORITHM The project and its activity can be modeled by a directed acyclic network. Suppose that in a given project activity network there are m nodes, n arcs (i.e. activities) and an estimated duration time, tij, associated with each arc (i ~ j ) in the network. Without loss of generality we assume the tus are continuous. The beginning node of an arc corresponds to the start of the associated activity and the end node to its completion. To find the CP, define the binary variables, X#, where X,~ = 1 if the activity i ~ j is on the CP and X U= 0 otherwise. The length of the path is the sum of the durations of the activities on the path. Formally, the CP problem is to find the longest path from node 1 to node m, i.e. Maximize E = ~ ~ t~Xo. i=lj=l

subject

to:

~ X1j= 1 j=l

--~ X~+ ~ X,,=O f o r i # l orm j=t

k=|

~ x~,= 1, j=l

113

where the sums are taken over existing arcs in the network. The first and the last constraints are imposed to start (node 1) and complete the project (node m) by critical activities, respectively, while the other constraints say if you came to any node by a critical activity you must leave that node by a critical activity. Note that the integrality conditions (i.e. X~j = 0 or 1) are relaxed since it is known that the optimal solution to these types of LP problems satisfy these conditions, see e.g. [23]. Note also that one of these m constraints is redundant (e.g. the last constraint is the sum of all other constraints).

The critical path finder Notation used in the new algorithm: GJP = Gauss-Jordan pivoting CA = critical activity CAS = critical activity set (i.e. a basic solution set) FE = feasibility PR = pivot row (row to be assigned to the activity coming in CAS) PC = pivot column (column associated with activity to come in CAS) PE = pivot element OP = optimal OR = open row. A row not yet assigned to a CA. Labeled (?) (?) = label for a row which is not yet assigned a CA (open row) RHS = right hand side C/R = column ratio, RHS/PE. The algorithm consists of initialization followed by three phases. The first, uses a CA iteration, to develop a CAS which may or may not be feasible. Rows not associated with a CA are labeled with '?' and are considered 'open'. Initially, all rows are open. The second, uses an OP iteration, to develop an optimal CP. The third, uses an FE iteration, to obtain a feasible and optimal CP. The algorithm detects successfully the existence of any cycle (i.e. directed loop) even outside of the CP. Failure to terminate at this phase (i.e. an LP with unbounded solution at Step 2.1) indicates that there is at least one hidden loop in the network. This is not legal in project network but is a common clerical error. The current tableau offers an indication to identify the offender activity(s) which create

114

Arsham--Managing Project Activity-Duration Uncertainties •

this loop. The first two phases use the GJP transformation, however, they differ in the method used to select the PE. CA iteration uses Simplex criteria modified to select only open rows not already assigned to a CA. This strategy pushes towards CP, and sometimes past it into non-feasibility. The FE iteration, if needed, pulls the solution back to feasibility. Initialization. Identify the element X 0 with the largest to Break any ties arbitrarily Identify the two constraints containing that element. Eliminate the constraint with smallest RHS (break any ties arbitrarily) Set up the initial simplex tableau without adding any artificial variables and then start phase I. Phase I: construction of a CAS. Step 1.0 CAS iteration termination test IF (?) Label exists (there are open rOWS). THEN continue the CA iteration. OTHERWISE CAS is complete, start FE phase (Step 2.0). Step I. I CA selection of PE PC: select the largest t o and any ties as candidate column(s). PR: select OPEN ROWS as candidate rows. PE: Select the candidate row and column with the smallest non-negative C/R. Arbitrarily break ties. If no non-negative C/R choose the C/R with the smallest absolute value. If the pivot element is zero, select the next best t o. Step 1.2 CAS augmentation (a) Perform GJP. (b) Replace the (?) row label with the variable name. (c) Remove PC from the tableau. Continue CAS iteration (loop back to Step 1.0). Phase II: optimality condition of a CAS. Step 2.0 Optimality iteration termination test IF any t o is positive T H E N continue the OP iteration, OTHERWISE OP is complete, start FE phase (Step 3.0).

Step 2.1 CA selection of PE PC: Select the largest t 0 and any ties as candidate column(s). PR: select the candidate row and column with the largest positive C/R. Arbitrarily break ties. If no positive C/R choose the C/R with the smallest absolute value. If the pivot element is zero, select the next best t 0. Step 2.2 CAS iteration (a) Save PC outside the tableau. (b) Perform GJP. (c) Exchange PC and PR labels. (d) Replace the new PC with old PC with all elements multiplied by - 1 except the PE. Continue OP iteration (loop back to Step 2.0). Phase III: construction of a feasible CAS. Step 3.0 FE iteration termination test IF RHS is non-negative THEN tableau is optimal. Interpret the results. OTHERWISE continue FE iteration (Step 3.1). Step 3.1 FE selection of PE PR: row with the most negative RHS. Tie Breaker arbitrary PC: column with a negative element in the PR. Tie Breaker: column with the smallest t 0. Further Tie Breaker arbitrary. Step 3.2 FE transformation (a) Save PC outside the tableau. (b) Perform usual GJP. (c) Exchange PC and PR labels. (d) Replace the new PC with the old PC saved in (a). Continue FE iteration (loop back to Step 3.0). The final tableau generated by this algorithm contains all the information we need. For example, any activities in the CAS with RHS = 1 are critical. There is also additional useful information in the final tableau, e.g. the absolute value of the last row in the final tableau provides the slack times for the non-critical

Omega, Vol. 21, No. 1

_

\

tssffis

~'t,.~= o \

~

~

tseffi12

I t, offi lO

.

Fig. 1. A network project with start at node 1 and finish at node 6 and a dummy activity. activities not included in the CAS. Such information is useful to project managers because it tells them how much flexibility they have in scheduling various activities without affecting succeeding activities. Clearly, the critical activities have slack time equal to zero. However, the reverse statement is not necessarily true, an activity can have slack equal zero while being non-critical [18]. This can happen whenever there are multiple CPs. The theoretical basis for this solution algorithm is given in the Appendix.

A numerical example The Appendix illustrates this new algorithm by walking through the problem given in Winston [30] as shown in Fig. 1. The LP formation of this project network is:

115

X

~

"t,8= ~

It,5= lO

Fig. 2. The critical path of the numerical example. It is noteworthy that the proposed solution algorithm is more general than it appears. Specifically, having obtained the final tableau, it can handle revisions of the nominal project. Clearly, this capability would be useful in coping with the situation where some activities are deleted or some new activities are added to the nominal project. Rather than starting the algorithm all over again to find the CP, we can simply update the current final tableau. Moreover, if we are interested in finding all critical paths, or counting (i.e. combinatorial) the number of CPs, the last row in the final tableau provides the necessary information. I f any tU= 0, then there is at least one alternative critical path. By bringing any X 0 with t,j = 0 into the CAS one can generate a new CP. Clearly, in such a case the W I A results are valid for the current CP and may not be correct for the others, see e.g. [25].

Max 9X12+ 6Xt3+ 0X23+ 7X34+ 8X35+ 10X45+ 12X56 subject to

Xt2 + Xi3 = 1, XI3~-X23-XM-X35=O, X35+ X45- X56= O, '

Xi2 - X23= 0, X34 - X45 = O,

X56= 1 and all

x,j~>0.

The final tableau obtained in the Appendix is given in Table 1. Results are: X~ = 1, X~3 = 1, X34 = 1, X45 = 1, X56 = 1 and all other X~ = 0. That is, the CP path is 1 ~ 2 - - . 3 - - . 4 ~ 5 ~ 6 with a project completion time of 38 time units. Notice that for this example it turns out that all activities in the CAS are critical. The critical path is shown by bold-arcs in Fig. 2. The slack times for the two non-critical activities namely (1--.3) and (3--*5) are given as the absolute value of the last row in the final tableau which are 3 and 9, respectively. Table I. The final tableau from the Appendix Var

X13

1 2

XI2 X23

I 1

4

X45

3 5

x3, x~ t¢

-3

X3~

-9

THE NECESSARY COMPONENTS F O R THE WHAT-IF ANALYSIS Let us define the perturbed project activity network model to be

E = ~ ~ (tij + t~.)X~

Minimize

i=lj=l

with the same structure as in the nominal (i.e. the original) project, and the admissibility conditions t~ >>.-to., for all ~]. Our W I A starts as soon as we obtain the final tableau of the CP solution algorithm. At this stage we need to introduce some more notations as shown in Table 2. The body of the final tableau is denoted by matrix B, vector b is the last column in this table, the two row vectors Tn and T¢ are the ordered vectors with components to, the original durations of critical and non-critical activities

RHS I 1

1

l

1

1

1 -38

Table 2. Necessary components for WIA. Final tableau Var

XNc

RHS

)(cA

B

b

rn-Tc'B

116

A r s h a m - - M a n a g i n g Project Activity-Duration Uncertainties

respectively as they appear in the final tableau. Let T = [To, Tn] and T* = T~ - To" B. To help clarify these notations, consider again our numerical example. F r o m the final tableau we have:

1

,

and T~* = Tn - To" B = [ - 3 , - 9 ] which can be verified by substitution. The ordered original activity durations we have: Tc= [9, 0, 7, 10, 12], Tn=[6,8 ], T=[9,0,7, 10, 12,6,8], and for the perturbed problem: T + T ' = [ 9 + t ~ 2 , 0 + t~3, 7 + t ' ~ , l O + t'45,12 + t~6,

6 + t~3, 8 + t~5], with

Tc = [9 + t~2, 0 + t~3, 7 + t ~ , lO + t'45,12 + t'~]

and

Tn = [6 + t~3,8 + t~5].

The CP is a set of at most (m - 1) activities in the rows of the final tableau with R H S = 1. Perturbation is said to be CP preserving if the perturbed model has the same CP as the nominal project. Clearly, the W I A are concerned with CP preserving as was outlined in the Introduction. T o find the largest set of perturbed activity durations for which the CP remains critical, we must find the m a x i m u m allowable changes in the activity duration estimates. That is, we must have T* = T n - Tc .B ~<0, to satisfy optimality condition where 0 stands for a zero row vector with the appropriate dimension. Let O denote the set of perturbed activity duration time t~ to maintain the current CP, i.e. 0 = {t~lT* = T~ - T c • B <~0

and t~.>~-t~}.

This set could be used to check whether a given perturbed activity duration has any effect on the current CP. The perturbed region O for this example is the set: 0 = {t~l-3 + t~3- t~2- t~3 ~~ --tUfor all/j}. As an example, suppose t~2 = - 1 ( - 5 0 % ) , t~4 = 0.9(30%) and t~3 = 0.8(40%). Clearly, with this perturbation the current CP remains critical

since the condition defining O holds. However, now the completion time for the entire project is 3.9 using the known currenl~ CP information. Notice that in the most popular LP package such as L I N D O the B matrix is readily available if one wishes to obtain such information, However, the proposed solution algorithm in this paper is more efficient both in terms of C P U time and storage. PARAMETRIC AND ORDINARY SENSITIVITY ANALYSIS Parametric analysis is of particular interest whenever there are some kinds of dependency among the activity durations, which is very common in project activity networks. This analysis can be considered as a simultaneous change in a given direction, see e.g. [5]. Define a perturbation vector P specifying a perturbed direction of the activity durations. Introducing a scalar parameter 6/> 0, we would like to find out how far we can move in the direction of P while still maintaining the current CP. Updating the last row in the final tableau for this perturbation, we have: new T* = Old T* + 6(Pn-- Pc" B) where Pn and Pc are the ordered sub-vectors of P corresponding to non-critical and critical activities, respectively, as they appeared in the final tableau. Define the set of activities S = { i - - * j l ( P n Pc" B),7 > 0}. If S is empty, then the current CP remains critical for all 6/> 0. Otherwise, calculate 6 ~ as follows: 6' = min[-- (old T*)u/(P n - Pc" B)~ for all ( i ~ j ) ~ S and - t J p q for any p~ < 0], where t~ and p~ are the activity (i ~ j ) estimated duration time and its corresponding element of vector P, respectively. Clearly, for any 6 E [0, 6'] the current CP remains critical. In our numerical example let us assume the activity duration times T = [9, 0, 7, 10, 12, 6, 8] are perturbed along the dependent vector P = (0, 0, - 1, 3, 1, - 2 , - 1 ) . The perturbed activity durations for critical and non-critical activities are P c = (0, 0, - 1, 3, 1) and Pn = ( - 2 , 1), respectively. To find set S we need to compute; P n Pc" B ( - 2 , - 1) - (0, 2) = ( - 2 , 1). This gives S = {3--,5} which results in 6 ' = m i n { - ( - 9 ) / 1 ,

Omega, Vol. 21, No. 1

117

Table 3. Sensitivity limits Lower limit t~2 t~3 t~3 t~ t~5 t~ t~s

Table 4. Tolerance limits

Upper limit

-3 -6 0 -7 -8 -9 -12

t~2 t~3 t~3 t~

3 0

t~5

9 oo oo

t~s t~

- 7 / ( - 1), -- (6)/(-- 2), -- ( 8 ) / ( - 1)} = 3. Therefore the current CP remains critical for any perturbation 6P, where 0 ~< 6 ~< 3.

Ordinary sensitivity analysis In this sub-section, we are interested in finding the range for any particular activity duration, holding all other activity durations unchanged. Clearly, the ordinary sensitivity is a special case of parametric analysis where we would like to find out how far we can move in positive and negative directions of any one of the axes in the n-parametric space t~. Here, P is a unit row vector or its negative depending on whether we want to compute an upper or a lower limit. We have summarized the ordinary sensitivity analysis in Table 3. Notice that the upper limits generated by the ordinary sensitivity analysis provide the slack times for all the non-critical activities. Therefore, slack times are the allowable increases in durations, one at-atime, to preserve the current CP. Alternatively, to find the allowable uncertainty for any particular activity duration time t~j., set all other t ~ = 0 i n s e t O. The above analysis deals with one durationuncertainty at-a-time analysis. Suppose we want to find the simultaneous allowable overestimation error in all activity durations. The 100% rule (see e.g. [27]) says that the CP will be preserved if t~3/3 + t'35/9 <<.1,

where the two denominators are the allowable increases from the sensitivity analysis for t'~3and

Lower limit

Upper limit

--9/5(20%) --6(100%) 0 --63/25(36%) - 8(100%) - 18/5(36%) -12(100%)

o0 6/5(20%) 0 oO 72/25(36%) oo

t ;5, respectively. That is, as long as this inequality holds, the current CP remains unchanged. Clearly, this condition is sufficient and not necessary. Similarly, the application of the 100% rule for underestimating all activity duration provides: t~2/(--3) + tiff(--6) + t'~/(--7) + t]s/(--8 ) + t~5/(--9) + t'~/(-- 12) ~<1, with a similar interpretation. TOLERANCE ANALYSIS Tolerance analysis is used to determine the maximum percentage estimation error in each activity duration to maintain the current CP critical. Such an analysis is useful whenever the uncertainties in the estimated activity durations can be expressed as some percentage of their estimated values. Here, we must find the lower and upper uncertainty limits (i.e. error in both directions: over- and underestimation) on each t~. That is, for all i~j activity, we must find the activity duration tolerance set defined as:

{t~-,t~+[t~-~~-t~, and T*~
for all /j pairs to maintain the current CP. The optimality criterion requires that we determine {tilT* ~<0}. Let (T*)j be the j t h element in the last row in the final tableau. Let us also denote matrix A to be a row-wise augmented matrix, constructed by pending an identity matrix I of order k as its last k rows where k is the number of non-critical

Table 5. Ranges for the ordinary sensitivity analysis (SA), tolerance analysis (TA), individual symmetric TA (IST) and symmetric TA (STA) for our numerical example with critical activities in bold Lower limits (crash)

h2 tl3 t23 t~

t35 &5 t~

Upper limits (slippage)

SA

TA

IST

STA

Estimated duration

6 0 0 0 0 1 0

7.2 0 0 4.48 0 6.4 0

7.2 4.8 0 4.48 5.12 6.4 0

7.2 4.8 0 5.6 6.4 8 9.6

9 6 0 7 8 10 12

STA

IST

TA

SA

10.8 7.2 0 8.4 9.6 12 14.4

10.8 7.2 0 9.52 10.88 13.6 24

oc~ 7.2 0 oo 10.88 oo oo

oo 9 0 c~

17 oo oo

Arsham--Managing Project Activity-Duration Uncertainties

118

activities in the final tableau. That is, A = [BI0 T, where the superscript T means transpose. Denote ,j = T . IA.jl where IAjI is the absolute value o f the j t h column of A and T is the estimated activity duration time vector, 1 ~
(a) Tolerance limits for C A S members For any CAS member's duration, i.e. for any ta,, the upper tolerance limit for t~, is: t + = min{t~[O'*)fl- ~j], and the upper limit from the sensitivity analysis}, where the min is over all j such that the (t~k row and the j t h column) element of A is negative. The lower tolerance limit for t~k is: t~ = max{t~[(T*)flzj], and the lower limit from the sensitivity analysis},

where the max is over allj such that the (t~, row and t h e j t h column) element of A is positive. By definition 0/0 -= 0. In our numerical example, the augmented matrix A is

1;]

t13

th t~3

6, A = t~5

t~5

o o

t~6

o

t~3 t~5

o

T = (9, 0, 7, 10, 12, 6, 8) The tj and *l = 15 and x2 = 25. For example, the tolerance limits for the activity duration t ~2 can be found as follows: the element in the t'12 row and the first column is 1, thus t~2= rain{?, oo} = oo, and t~ = max{9(- 3)/15, - 3} = - 9/5.

(b) Tolerance limits for n o n - C A S members For any non-CAS member's duration, i.e. for any t~,, the lower tolerance limit is the ordinary sensitivity limit, and its upper limit for t'~k is: C~+ = min{t,,[(T*)j/-~j], and the upper limit from the sensitivity analysis}, where the min is over a l l j such that the (t',k row and t h e j t h column) element of A is positive. By

definition 0/0 -= 0. For example, the upper tolerance limit for the activity duration tl3 is: t~- = min{6(- 3)/(- 15),3} = 6/5. The tolerance limits for all activity durations for our numerical example are shown in Table 4. The symmetric tolerance limits reflect the maximum allowable equal percentage error in both directions (over and under estimations) that holds simultaneously over all activity durations. Clearly, the symmetric tolerance range is a subset of the tolerance range. The individual symmetric tolerance limits for each activity i--,j is upper limit = - lower limit = min[t~+, - t~(in percentage) for each i/activity]. The symmetric tolerance limits, in general, are: upper limit = -lower limit = rain [t~.+ - t~7 (in percentage), over all tj except for dummy activities]. From Table 4, it is clear that the symmetric tolerance limit for our numerical example is 20%. Notice that the tolerance analysis technique introduced by Ravi and Wendell [22] is limited to finding the symmetric tolerance limit and providing no meaningful limits where any element in the last row of the final table is zero, i.e. having multiple critical paths. In such a case, the STA is zero for all activity durations. Clearly, this limits STA application. Moreover, STA can severely shorten its interval, especially when there are a large number of activities. The tolerance analysis given in [27, 31] is relatively complicated. The proposed approach in this paper has the advantage of being computationally practical, easy for the project manager to understand and provides useful practical information. As always, one must be careful when rounding the WIA limits. Clearly the upper limit and lower limit must be rounded down and up, respectively. This point, unfortunately is overlooked in [27] and [31]. IMPLICATIONS AND SOME APPLICATIONS OF THE PROPOSED WIA

Table 5 summarizes some parts of our findings from what-if analysis applied to our numerical example.

Omega, Vol. 21, No. I

Since project managers are concerned with the stability of the CP under uncertainty of the estimated durations, the output information from our various WlA should be of interest to the project managers. Clearly, as long as the actual activity durations remain within these intervals, the current CP remains critical. Some specific implications from these results for the project manager are that they provide means for discussion and analysis by the project team members as to how to consider modifying the project prior to its implementation. The results given in Table 5 help the project manager to assess, analyze, monitor and manage various types of project activity~luration uncertainties in all phases of project process (i.e. planning, scheduling and controlling). When the issues caused by the inherent uncertainty in any project are considered, there are other benefits to be gained by using the proposed WlA approach, e.g. it provides various ranges of uncertainty with the lower limits as the maximum 'crashing' for critical activity durations and the upper limits as the maximum 'slippage' for non-critical activity durations and their impacts on the entire project completion time. These results could be helpful in some large projects, e.g. if certain activities could be moved into certain intervals or be divisible into smaller sub-activities and 'tucked in' at several locations. The proposed approach can also provide a rich modeling environment for strategic management of complex projects using MonteCarlo simulation experiments. In this treatment, one may select an a priori duration distribution function for each activity (see e.g: [29]) with the support domain produced by the TA. Clearly, in the case of complete lack of knowledge one may use a flat (i.e. uniform) distribution function. If one wishes to use the three-point estimate PERT, then the lower and upper limits of IST analysis can serve as the largest lower bound for optimistic and the smallest upper bound for pessimistic estimates, respectively. This may release the project managers from guessing [26]. Throughout our WIA we have assumed that duration of all activities are continuous. Clearly whenever some activity durations are required to be discrete then we must add this admissibility condition to all parts of WIA.

119

Our discussion of WIA did not include other important managerial issues such as time-costperformance tradeoff including penalty for delay, reward for timely completion of the entire project [17, 19, 20], resource allocation, leveling and constrained resource scheduling [6], and the human side of project management [16]. Clearly, the proposed model should serve as an aid to management judgement, therefore, the project manager's experience must be incorporated in our proposed prescriptive model. CONCLUSIONS In the Introduction we have included a short review of the widely-used PERT/CPM models as a basis of comparison to the proposed approach in dealing with various uncertainties in activities duration estimation. We presented a new solution algorithm for finding a critical path in a given project activity network with an estimated duration time for each activity in the project network. This approach enabled us to perform the what-if analysis (WlA) associated with uncertainty of activity durations. The essential parts of WlA calculations involve the same data and the same manipulations as the proposed solution algorithm. In contrast to one-duration at-a-time analysis the proposed method allows for simultaneous, independent or dependent changes of the activity durations from their estimated values. We pointed out several benefits to be gained by using the proposed WlA approach. For example, it provides various ranges of uncertainties with the lower limits as the maximum 'crashing' for critical activity durations and the upper limits as the maximum 'slippage' for non-critical activity duration times and their impact on the entire project completion time. The uncertainty nature of projects now can be considered from a managerial point of view rather than as random factors as in the existing statistical and stochastic-based PERT models. More specifically, the proposed approach differs from previous studies in that its results empower the project manager to assess, analyze, monitor and manage various types of project activity-duration uncertainties in all phases of the project process, namely planning, scheduling and controlling.

Arsham--Managing Project Activity-Duration Uncertainties

120

a basic and feasible solution the t 0. becomes non-positive. Phase I, deletion of basic columns, is permissible since we are adding a variable to the basis, not replacing a variable. (This reduces the complexity significantly and the resulting tableau is smaller in size.) Step 1.1 selection criteria leave one possibility. Selection of the largest t~ causes some tus to become non-positive after pivoting. If pivoting is not possible (no finite C/R) we select the next largest tU. However, the value of the largest tU is unchanged since the pivot row element in its column is zero. By this pivoting selection rule the proposed algorithm is free from degeneracy which may cause cycling. In Steps 2.2 and 3.2 the reduced pivoting rule produces the same tableau as the usual pivoting. Proof follows from the well-known reduced pivoting rule in LP. Proof that the free slack is the last row of the final tableau follows directly from ordinary sensitivity analysis.

The proposed approach has the advantage of being computationally practical, easy for the project manager to understand and provides useful practical information. Future work in this area would look into some possible refinement of the algorithm and then develop an efficient code to obtain experience for large-scale projects. This would aid for a comparative study with, for example, an inverse approach. The inverse approach uses necessary and sufficient conditions, e.g. [14], to determine all CPs to the project network given that each activity duration may change within an a priori interval. APPENDIX

Outline Proof of Algorithm The theoretical basis for the algorithm rests largely upon the total unimodularity of the coefficient matrix in the simplex tableau for the model (see e.g. [23]). We use the property that a unimodal matrix remains unimodal under GJP. Under LP formulation optimality is attained when all the t Uare non-positive and the algorithm terminates successfully. The current algorithm starts with all t~s non-negative. We show that under the operations we use to obtain

A Detailed Numerical Example Here we demonstrate the algorithm by walking through the problem shown in Fig. 1.

Phase I: construction of a CPS X56 has the largest duration. Eliminate the fifth constraint. The initial tableau and the consequent tableaux are as follows: Initial simplex tableau

Var

Xi2

Xt3

1 2 3 4

? ? ? ?

1 1

1

5

?

X23

X34

X35

X45

RHS 1 0 0 0

-1 1

I

-1

-1 1

tq

X56

9

6

0

-1

7

8

10

Ill

1

12

0

Note that the non-zero PE IS enclosed by [ ]. Column 'Var' corresponds to the CAS. Second tableau I 2 3 4 5

Var

Xi2

Xi3

? ? ? ? Xs6 t~

I I

I

X23

X34

X35

RHS

[-l]

I 0 0 0 I -12

-I I

I

-I

-I l

9

X,5

6

0

?

8

I0

Omega, Vol. 21, No. 1

121

Third tableau Vat

Xz2

Xi3

1 2 3 4

? ? ? X4~

1 l

1

5

Xs6

tq

X23

X34

X35

RHS 1 0 0 0

-I

9

Var

Xi2

1

?

1

2

?

1

3 4

X34 )(45

5

Xs~ t~/

1

1

[-1] - 1

6

o

17

Fourth tableau Xla X23

-I

I -12

8

X35

RHS

[1]

1

-1 --1 --1

9

0

--1 --1

23

17

1 1

0 0

-9

1 -12

Fifth mbleau Var

1 2 3 4

X13 ? X~ X4s

5

Xs~



Var 1 3

Xi3 X23 X34

4

X45

5

Xs6

2

X23

Xi2

1 1 1 1

- 14

X35

RHS

[-l] -1 -1

1 l

1 0 I l

17

--9

1 -35

Sixth tableau Xn X3s

RHS

[1]

1

--1

0

tq

3

l

l

1

1

-9

1 -35

End of CPS iteration.

Phase II: optimality condition

Phase III: construction o f a feasible C P S

Step 2.0 Optimality iteration termination test t~2 is p o s i t i v e t h e r e f o r e c o n t i n u e the OP iteration.

Step 2.1 B V selection o f P E PC: Xn column. P R : F i r s t r o w has the l a r g e s t n o n ncgativc C/R.

Step 2.2 C P S iteration (a) (b) (c) (d)

Save PC outside the tableau. Perform GJP E x c h a n g e P C a n d P R labels. R e p l a c e t h e n e w P C w i t h o l d P C all e l e m e n t s m u l t i p l i e d by - 1 e x c e p t t h e PE. R e s u l t s a r e s h o w n b e l o w : The final tableau

1 2 3 4 5

Var

Xl~

Xi2 X23 Xu X45 X~

1 1



X35

1 1

-3

-9

RHS 1 1 1 1 I

-38

Step 3.0 FE iteration termination test All R H S a r e n o n - n e g a t i v e THEREFORE terminate FE iteration T A B L E A U IS N O W O P T I M U M ACKNOWLEDGEMENTS I am most appreciative of the comments from the Editor and referees. Thanks are also due to University of Baltimore for granting a sabbatical during which this work was completed. Part of this paper was presented at the Fourteenth

Symposium in MathematicalProgrammingwith Data Perturbation, Washington, DC. REFERENCES

1. Adlakha V and Arsham H (1992) A simulation technique for estimation in perturbed stochastic activity networks. Simulation 58(4), 258-267. 2. Arsham H (1992) Postoptimality analyses of the transportation problem. J. Opl Res. Soc. 43(2), 121-139. 3. Arsham H (1989) A tabular simplex-type algorithm as a teaching aid for general LP models. Mathl Computer Model 12(8), 1051-1056. 4. Assad A and Wasil EA (1988) Project management on the PC software, applications, and trends. Interfaces 18(2), 75-84.

122

Arsham--Managing Project Activity-Duration Uncertainties

5. Carom JD and Burwell TH (1991) Sensitivity analysis in linear programming model with common input. Decn Sci. 22(3), 512-518. 6. Deekro RF and Herbert JE (1989) Resource constraint project crashing. Omega 17(1), 69-79. 7. Elmaghraby S (1977) Activity Networks. Wiley, New York. 8. Evans JR and Minieka E (1992) Optimization Algorithms for Networks and Graphs. Dekker, New York. 9. Gaither N (1975) The adaptation of operations research techniques by manufacturing organizations. Decn Sci. 6(4), 797-813. I0. Golenko-Ginzburg DI (1989) PERT assumptions revisisted. Omega 17(4), 393-396. 11. Gutierrez GJ and Kouvelis P (1991) Parkinson's law and its implications for project management. Mgmt Sci. 37(8), 990-1001. 12. Heijmans JGC (1989) Popularizing Mathematical Methods in People's Republic of China. Birkhauser, Boston, Mass. 13. Hughes MW (1986). Why projects fail: the effect of ignoring the obvious. Ind. Engng 18(4), 14-18. 14. Jansson C (1988) A self-validating method for solving linear programming with interval input data. In Computing Supplementum, Vol. 6, pp. 33-46. Springer, New York. 15. Jarvis JP and Shier DR (1990) Netsolve: interactive software for network optimization. Ops Res. Lett. 9(4), 275-282. 16. Kerzner H (1984) Project Management. Van Nostrand-Reinhold, New York. 17. Kidd J (1989) Project analysis today--the end users' disquiet? Omega 17(2), 103-119. 18. Koehler AB and MacClure RH (1979) The use of arcs and nodes for the determination of critical paths in PERT/CPM network. Decn Sci. 10(2), 329-333.

19. Nandi SN and Dutta BK (1988) Trends in project cost control systems. Omega 16(6), 513-520. 20. Phillips D and Garcia-Diaz A (1990) Fundamentals of Network Analysis. Prentice-Hall, Englewood Cliffs, N.J. 21. Ragsdal C (1989) The current state of network simulation in project management theory and practice. Omega 17(I), 21-25. 22. Ravi N and Wendell RE (1988) The tolerance approach to sensitivity analysis in network linear programming. Networks 18, 159-171. 23. Rockafellar RT (1984) Network Flow and Monotopic Optimization. Wiley, New York. 24. Seulli D (1989) A historical note on PERT times. Omega 17(2), 195-196. 25. Steinberg DI and Aucamp DC (1983) On ranging cost coefficients in dual degenerate linear programming problems. Decn Sci. 14(3), 440-441. 26. Vazsonyi A (1992) Are we teaching PERT right? Decn Line 23(3), 12-13. 27. Ward JE and Wendell RE (1990) Approaches to sensitivity analysis in linear programming. Ann. Ops Res. 27(1-4), 3-38. 28. Williams TM (1992) Criticality in stochastic networks. J. Opl Res. Soc. 43(4), 353-357. 29. Williams TM (1992). Practical use of distributions in activity analysis. J. Opl Res. Soc. 43(3), 265-270. 30. Winston WL (1991) Mathematical Programming:Applications and Algorithms. PWS-KENT, Boston, Mass. 31. Wondolowski FR Jr (1991) A generalization of Wendell's tolerance approach to sensitivity analysis in linear programming. Decn Sci. 22(4), 792-810.

Dr H Arsham, School of Business, University of Baltimore, Baltimore, MD 21201-5779, USA.

ADDRESS FOR CORRESPONDENCE: