Project Scheduling Using State-Based Probabilistic Decision Networks
Project Scheduling Using State-Based Probabilistic Decision Networks
D.J. Medeiros, E.F. Watson, J.S. Carson, and M.S. Manivannan, eds.
Civil & Environmental Engineering Department Charles E. Via, Jr. Department of Civil Engineering
University of Michigan Virginia Tech
Ann Arbor, Michigan 48109-2125, U.S.A. Blacksburg, Virginia 24061-0105, U.S.A.
This paper presents probabilistic CPM scheduling using STROBOSCOPE is an acronym for STate and ResOurce
an add-on program to the STROBOSCOPE simulation Based Simulation of COnstruction ProcEsses. It is a
system that allows dependence and correlation between simulation programming language designed specifically
activity durations as well as control over precedence and for modeling construction operations based on three-
the selection of paths. Activity durations and sequencing phase activity scanning and activity cycle diagrams. The
can be defined in terms of the dynamic information that STROBOSCOPE language is described in (Martinez
becomes available as a project evolves and includes the 1996). Example applications can be found in (Ioannou &
actual start date and duration of activities already started. Martinez 1996a, 1996b, 1996c) and (Martinez & Ioannou
An example highway project illustrates the modeling 1994, 1995).
power of this approach. STROBOSCOPE can be extended via add-ons written
in a high-level compiled language such as FORTRAN or
1 INTRODUCTION C++. STROBOSCOPE can also be controlled from other
applications via OLE automation. A STROBOSCOPE
It is widely recognized that construction planning and add-on is a 32-bit MS Windows dynamic-link library that
scheduling using CPM can be substantially enhanced and extends the STROBOSCOPE language with new
become more effective and more realistic by recognizing statements, functions, and variables. The code within the
ahead of time the uncertainty in activity durations and add-on can call back into the simulation engine using
their dependence on the dynamic state of the project as it STROBOSCOPE’s Application Programming Interface
evolves. Several tools have been developed for this (API) described in (Martinez 1996).
purpose. PERT was a first step by allowing probabilistic The CPM add-on described in this paper is loaded
activity durations. Monte-Carlo simulation can tackle the into STROBOSCOPE with the LOADADDON statement:
merge-event bias problem (Van Slyke 1963). GERT LOADADDON C:\…\CpmAddOn.dll;
(Pritsker 1977) can additionally model uncertainty in the Once loaded, its statements, functions and variables
precedence of activities. VERT (Moeller & Digman can be used as if they were a standard part of the
1981), MUD (Carr 1979) and DYNASTRAT (Morua language. The new statements are shown in Table 1 and
Padilla 1986) can model correlation between activity the new state variables are listed in Table 2. Of these, the
durations and to a limited extent recognize the state of second argument to CPMACTIVITY in Table 1 is of
the project in progress. particular importance because it defines an activity’s
None of the existing tools, however, have the duration. This argument can be any allowable expression
necessary flexibility and power to model uncertainty in and can include functions that sample from probability
the duration of activities as a true function of the state of distributions as well as variables that access the state of
the project, nor can they model the underlying process- project or the state of any concurrent process simulation.
level operations through concurrent simulation. The Thus, the expression used to define the activity duration
CPM add-on for STROBOSCOPE presented here can be as complex as necessary, calling any number of
overcomes these limitations and serves as an example of functions and variables. The parameters of functions that
how STROBOSCOPE can be used as a development sample from probability distributions can also include
vehicle for special-purpose simulators and more expressions or variables to allow easy modeling of
sophisticated project-level modeling tools. conditional and correlated distributions.
1287
Project Scheduling Using State-Based Probabilistic Decision Networks
Table 1: Statements Registered by the CPM Add-On Table 2: Variables defined by the CPM Add-On
Balance
Balance
Balance
Point
Point
Point
CPMREPORT;
Prints the 90% Confidence Interval on project Cut Fill Cut Cut Fill Cut
(End of Project)
A highway with the profile and plan shown in Figure 1
Sta. 100+00
Sta. 115+00
Sta. 127+00
Sta. 138+00
Sta. 150+00
Sta. 158+00
Sta. 42+00
Sta. 70+00
Sta. 80+00
Sta. 92+00
will serve as an example for using the CPM add-on. This
project is 11,600 ft (2.2 mile) long and has been adapted
from (Brand et al 1964). Table 3 shows the names of the Small Box Culverts
70’ Double Barrel
ROW
50’
Box Culvert 50’
70’
most-likely, and pessimistic) activity durations (a, M, b),
the mean duration based on the PERT approximation PLAN
(a+4*M+b)/6, the variance, and the standard deviation of
the activity duration given by the PERT approximation Figure 1: Plan and Profile for Highway Construction
(b-a)/6. The last column lists the direct predecessors of
each activity and defines the connectivity of the network. The precedence network for this project is shown in
The construction work for this highway is naturally Figure 2. Notice that activity names begin with the
divided into two sections based on the location of the corresponding activity numbers from Table 3 (for easy
balance points for earthmoving (cut and fill). As shown identification) and cannot include spaces.
in Figure 1, the western section extends from Station 42
to Station 100 and the eastern section extends from 3.1 PERT Network Analysis
Station 100 to Station 158. Within each section the
amount of cut equals the amount of fill. Assuming that We shall begin the analysis of this project by using the
the necessary resources are available, the majority of the PNET methodology to compute the cumulative
work in each section can be performed independently probability of project completion (Ang et al 1975).
and simultaneously while minimizing haul distances. The The basis of this approach are the following two
division of the work is also reflected in the definition of inequalities that provide a lower and upper bound for the
activities shown in Table 3. They include material and true cumulative probability of project completion:
equipment procurement, cut-and-fill earthmoving, the
construction of one double-barrel and two single-barrel
concrete box culverts, the placement of subbase, paving, ∏ P[T
I
I ≤ t ] ≤ P[T ≤ t ] ≤ min P[TI ≤ t ]
I
(1)
Table 3: Activity List and Duration Data in Days for Highway Construction Project
33.2% 33.2%
LEGEND
A10_ A15_
BuildBox CureBox Criticality
38.0% Culvert_ Culvert_ 38.2% 38.2%
Index
A06_ S127 S127 A19_ A21_ Path 1
Deliver FinMove Subbase_
RebarSB 4.8% 4.8% Dirt_S100 S100_ Activity
Culvert A11_ A16_ _S158 S158 Path 2 Name
BuildBox CureBox
Culvert_ Culvert_
S138 S138
Here the random variable T represents the duration of A useful shortcut at this point is to eliminate from
the project and TI represents the duration of path I. further consideration all paths that are clearly too short to
For the standard PERT problem where a network has assume the role of critical path, such as 6, 7, 8, and 9.
a single dominant path, the above upper and lower The fact that paths 1-5 are contenders, however, does
bounds coincide (i.e., they give the exact same values). not mean that they are independent. It is easy to show
When no single dominant path exists, however, any one that the correlation coefficient between the durations of
of several competing paths (with overlapping probability two paths I and J that share activities is given by:
density functions) may determine the duration of the
project. In this case, it is not clear ahead of time as to ∑
k∈( I ∩ J )
2
k
= (3)
which of these paths will actually be the longest, and IJ
I J
thus prove to be critical. This phenomenon is known as
merge-event bias and the true probability for completion The numerator in this expression is the sum of the
of the project is somewhere between the lower and upper variances of the activities k that belong to both paths I
bounds given by Eq. (1). Whether it is closer to the upper and J. The denominator is the product of the standard
or the lower bound depends on the degree of correlation deviations of the durations of paths I and J from Table 4.
between the durations of the competing paths. If path This expression is first used to compute the correlation
durations are independent then the true probability equals coefficient between path 1 and every other path:
the lower bound. As positive correlation increases, the ρ12 = 0.05001 ρ13 = 0.05671
true probability moves closer to the upper bound. ρ14 = 0.06825 ρ15 = 0.73755
Positive correlation between path durations is most Paths with correlation coefficients greater than 0.5 are
often due to the fact that several paths share the same represented by path 1 and can be eliminated. In this case
activities. When shared activities are long or short, all we can eliminate path 5 but not paths 2, 3, and 4.
paths to which they belong tend to be long or short. The pairwise calculation of correlation coefficients is
The basic idea in PNET is to eliminate from the lower now repeated by substituting path 2 (the longest
bound in Eq. (1) those paths that share enough activities remaining path) in the role of path 1:
to be highly correlated with (and thus represented by)
ρ23 = 0.79432 ρ24 = 0.68632
other (longer) paths in the network.
This procedure is best illustrated with an example. We Since both correlation coefficients exceed 0.5 we can
begin by constructing a list of all paths in the network eliminate paths 3 and 4 as represented by path 2.
and arranging them in descending order of their mean Thus, only paths 1 and 2 are long enough to be critical
duration. In this case, the network for the highway and at the same time sufficiently independent to be
project consists of 9 paths ordered as shown in Table 4: included in the calculation of the lower bound. The two
paths are shown with heavier precedence links in the
Table 4: Paths Ordered by their Expected Duration network of Figure 2 for easy identification.
In conclusion, the probability of project completion
according to PNET can be approximated by:
Path I Activities h in path I Mean SD
1 4,7,12,13,18,20,22,25,27 61 5.00 P[T ≤ t ] ≈ P[T1 ≤ t ] ⋅ P[T2 ≤ t ] (4)
2 6,10,15,19,21,23,24,26,27 57 9.00
A graph of this approximation appears in Figure 3.
3 6,11,16,19,21,23,24,26,27 52 7.93
The effect of merge-event bias is also shown in this
4 5,9,14,19,21,23,24,26,27 49 6.59 figure as the difference between the PNET curve and that
5 5,8,13,18,20,22,25,27 42 4.00 given by standard PERT with a dominant longest path:
6 3,20,22,25,27 29 3.24
7 3,23,24,26,27 29 5.17 P[T ≤ t ] ≈ P[T1 ≤ t ] (5)
8 2,17,20,22,25,27 28 3.16 Clearly, Eq. (5) is the same as the upper bound in
9 2,17,23,24,26,27 28 5.12 Eq. (1) and can lead to significant overstatement of the
true probability of completing the work by a given
The standard deviation of path duration, SD, is the deadline. In fact, the lower and upper bounds defined by
square root of the variance computed by assuming Eq. (1) when considering all paths 1-5 define an
independence between the duration of activities h that envelope for the true probability of project completion
belong to each path I: given by:
2
=∑ 2 (2) 5
I
h∈I
h
∏ P[T
I =1
I ≤ t ] ≤ P[T ≤ t ] ≤ P[T1 ≤ t ] (6)
A07_BuildDBoxCulvert
5.97 15.87
8.80 18.70
A10_BuildBoxCulvert_S127
32.71 39.73
A20_Pave_S42_S100
7.17 12.21 36.90 46.90
A15_CureBoxCulvert_S127
39.73 49.73
A22_Cure_S42_S100
12.21 21.47 46.90 52.87
18.41 27.66 49.73 55.70
A19_FinMoveDirt_S100_S158 A25_Shoulders_S42_S100
22.04 27.04 52.87 55.83
A21_Subbase_S100_S158
55.70 58.66
A27_Guardrail_Landscape
27.04 34.12 58.66 63.61
A23_Pave_S100_S158
58.66 63.61
A11_BuildBoxCulvert_S138 A24_Cure_S100_S158
When ProbSched is used to initiate the simulation 7.17
18.67
10.11
21.61
44.04
49.66
50.02
55.64
A05_MoveinEquipment A26_Shoulders_S100_S158
process, STROBOSCOPE returns the results shown in 0.00
14.09
3.00
17.09
50.02
55.64
53.03
58.66
A17_ProcurePavingMtrl
35.56
2.00 4.04
network indicates that there is no dominant path and that 35.56
A03_DeliverPavingMesh
37.60
least some replications as shown in Table 5. Activity description Project Statistics (1000 repl.) Statistical Bar
Mean SD
The fact that there is no single dominant critical path Early Start
Late Start
Early time frame
Free Float
Late time frame
Early Finish
Late Finish Duration: 63.61
Cost: 0.00
5.66
0.00
Chart for
Highway
Total Float 0% Criticality Color Coding 100% Construction
explains why no activity (except 27) has TF = 0. Activity Hammock Color
STROBOSCOPE ProbSched Project
runs it was non-critical and had TF > 0. Thus, the 3.4 Correlated Activity Durations
reported TF=2.83 is the average of 618 zeros and 382
non-zero values. This shows that in general the TF has a Another typical problem is that of modeling correlation
mixed probability distribution with a probability mass at between activity durations caused by common factors
TF = 0 and probability density for TF > 0. such as the weather, site conditions, the use of the same
equipment and crews, etc. Correlated activity durations
3.3 Dynamic Scheduling Decisions can also be modeled easily with the CPM add-on. For
example, in the case of two activities X and Y that are
A simple illustration of a typical problem that is very normally distributed with correlation coefficient ρ (rho),
difficult to solve analytically, but can be modeled quite we can first sample X and then Y as follows:
easily with the CPM add-on, is that of precedence links
DURATION X Normal[mX,sX];
that could point in either direction. It is not unusual in a
DURATION Y Normal[mY+(X.Duration-mX)*
highway project, for example, for the contractor to have
rho*sY/sX,sY*Sqrt[1-rho^2]];
only one paving machine. In this case, the two paving
activities (20 and 23) cannot overlap and must be Using the highway project as an example, it is
performed serially, one after the other. The problem is interesting to investigate the effect of correlation
that we do not know beforehand which can be started between two activities that belong to parallel paths
first and which must follow. Merging the two paving versus that caused by two correlated activities that follow
activities into one does not solve the problem because it each other serially. Table 7 shows the effect of perfect
is not necessary to finish both subbase activities (in the positive correlation between the two subbase activities
east and west sections) in order to start paving, nor is it 18 (path 1) and 21 (path 2), and between subbase activity
necessary to finish all paving before curing and shoulder 18 (or 21) and the following paving activity 20 (or 23).
work can begin.
This is an example of a dynamic decision that must be Table 7: Effect of Correlation on Project Duration
made while the project is going on. A simple way to
model this using the CPM add-on is by redefining the ρ18, 21 = 0 1 0 1
durations of the two paving activities (X, Y) to add the
ρ18, 20 = ρ21, 23 = 0 0 1 1
extra time one of them must wait until the other activity
(the one that has already started) finishes: Replications 1000 1000 1000 1000
Average Proj. Dur. 63.43 63.27 64.1 63.07
VARIABLE XWaitsForY ‘Y.Started?
Std. Dev. Proj. Dur. 5.75 5.91 6.71 7.2
Max[Y.EarlyFinish-SimTime,0]:0’;
90% CI Lo Bound [63.13 [62.96 [63.75 [62.70
VARIABLE YWaitsForX ‘X.Started?
90% CI Hi Bound 63.73] 63.57] 64.45] 63.45]
Max[X.EarlyFinish-SimTime,0]:0’;
DURATION X XWaitsForY+Pert[aX,MX,bX];
DURATION Y YWaitsForX+Pert[aY,MY,bY]; The introduction of positive correlation between the
two subbase activities makes paths 1 and 2 to tend to
Inserting the above code right before the statement vary together and this reduces the average project
CPMREPLICATE produces the results shown in Table 6 duration from 63.43 to 63.27 and raises the standard
under the heading DL (dynamic links). Table 6 also deviation a little from 5.75 to 5.91. In contrast, positive
shows the results for static precedence links as well as correlation between a subbase activity and the paving
for the base case of two pavers to allow comparison. activity that follows increases the variance for both paths
1 and 2 and this increases the average project duration
Table 6: Effect of Correlation on Project Duration from 63.43 to 64.10 and the standard deviation from 5.75
to 6.71. Having both types of correlation increases the
variance for both paths 1 and 2 but also makes them
Two One Paver
move together (in lock-step) even more. This reduces the
Pavers DL 23->20 20->23
average duration from 63.43 to 63.07 and increases the
Replications 1000 1000 1000 1000 standard deviation from 5.75 to 7.20.
Average Proj. Dur. 63.61 67.11 68.96 71.09
Std. Dev. Proj. Dur. 5.66 6.39 7.92 6.55 4 CONCLUSION
90% CI Lo Bound [63.31 [66.78 [68.54 [70.75
90% CI Hi Bound 63.90] 67.44] 69.37] 71.43] The CPM add-on and its source code in C++ are
included with STROBOSCOPE and are available from