07. Project Networks

CHAPTER 7 Project Networks
Need for project networks when coordination is
required.
Critical path method (CPM): developed by du Pont de
Nemours & Remington Rand Univac corporations for
construction projects.
Program Evaluation and Review Technique (PERT):
Develped by the US Navy, with Lockheed Aircraft
Corporation & the consulting firm Booz, Allen, and
Hamilton for the Polaris missile program.
The methods are quite similar; but CPM is a
deterministic technique, PERT (partially) stochastic.
7.1 The Critical Path Method
Each project is subdivided into individual tasks or
activities; each activity has a duration indicating how
long it takes to complete the activity.
Precedence relations: indicate which activities must be
completely finished before another activity can start.
Visualize relations between activities in an activity-onnode (AON) network representation.
 each node represents an activity
 arcs represent precedence relations
 two additional (artificial) nodes: the starting node
(the source) ns and the terminal node (the sink), nt
 arc from node i to node j, if activity i is immediate
predecessor of j

Activity Immediate Duration
predecessor
(in
weeks)
A
5

B
A
3
C
A, B
7
D
B
4
E
B, C
6
F
C, D, E
4
G
D
2
H
F, G
9
I
F, G
6
J
I
2
Find the earliest possible time T at which the entire
project can be completed. Let the project start at time
t = 0.
T is the length of the longest path in the network. T is
found by a forward pass (forward sweep, forward
recursion): Compute the earliest possible starting times
(ES), and the earliest possible finishing times (EF) of all
activities, starting with ES(ns) = 0. For any activity
with duration t, EF = ES + t. As a result, EF(ns) = 0.
Rule 1: In the forward pass, a node can only be labeled
if all of its predecessors have been labeled.
From ns, we can label node A, which has only one
predecessor, so that ES(A) = EF(ns) and EF(A) =
ES(A) + tA = 0 + 5 = 5. As A is labeled, continue with B
and C, pick which has only one predecessor, A. So,
ES(B) = EF(A) = 5, and EF(B) = ES(B) + tB = 5 + 3 = 8.
Continue with D and E, and so on.
Act. ns
A
B
C
D
E
F
G
H
I
J
nt
ES 0
EF 0
0
5
5
8
8 8 15 21 12 25 25 31 34
15 12 21 25 14 34 31 33 34
The sink nt is now labeled, and the ES and EF of the
sink indicate the total duration of the project, T = 34
weeks.
In the backward sweep, compute the latest allowable
finishing times LF and the latest allowable starting
times LS of all activities (in that order), beginning with
the sink.
For any activity with duration t, LF = LS + t. Now we
consider a node labeled, if its LF and LS values have
been computed. With T known, we label the sink
LF(nt) = LS(nt) = T. The rule for labeling other nodes
is:
Rule 2: In the backward pass, a node can only be
labeled if all of its successors have been labeled.
With the sink the only labeled node, only H and J can
be labeled, choose node H with only one successor, so
that LF(H) = LS(nt) = 34. Since activity H must be
finished no later than 34 and tH = 9, LS(H) = LF(H) 
tH = 34  9 = 25. For J we obtain LF(J) = LS(nt) = 34,
and LS(J) = LF(J)  tJ = 34  2 = 32. Now the nodes nt,
H and J are labeled, so that we can continue labeling
only with node I:
Act. ns A
LS 0 0
LF 0 5
B
5
8
C D E F G H I J nt
8 17 15 21 23 25 26 32 34
15 21 21 25 25 34 32 34 34
Total float TF of an activity with duration t is defined
as TF = LF – ES – t ( = LF – EF = LS – ES). If TF = 0,
the activity is called critical.
Convenient notation:
Critical path: a path from source ns to the sink nt that
includes only critical activities, such that node j can
directly succeed node i on the critical path, only if
ES(j) = LF(i) (bold lines): ns – A  B  C  E  F  H 
nt. The length of that path is T = 34.
Note that the critical path does not include the link
from node B to node E, even though E directly follows
B, but ES(E) = 15 > 8 = LF(B). A project network may
have multiple critical paths.
7.2 Project Acceleration
An activity has a normal duration. Investing additional
money (e.g., for additional resources) the activity
duration may be accelerated. The shortest activity
duration that can be achieved is the crash time, and
the process of acceleration is sometimes called
crashing. Determine which activities should be
crashed, to achieve a specified project completion time
at lowest cost.
Example:
The normal times, crash times, and unit acceleration
costs are shown next to the nodes. For example,
activity D normally takes 8 hours (there are no costs
incurred at this duration), but we can reduce it to 7, 6,
or 5 hours. Each hour of acceleration costs $200. Note
that activity B cannot be accelerated.
The Figure shows the project network with normal
durations of the activities (in hours) and the critical
path in bold arcs. The present duration of the project
is 13 hours.
Accelerate one hour at a time. Where? On the critical
path, in a way that minimizes our marginal
(additional) costs. Here: either accelerate A at a cost of
$600, or D at a cost of $200 → reduce D by a single
hour to 7 hours. The new network is shown in the
Figure below.
There are now two critical paths: ns  A  C  nt and ns
 A  D  nt, both with length 12. Accelerating the
project further will pose some additional difficulties.
After some discussion, we see that the best option is to
accelerate activities C and D by one unit each. We
determine the new critical path(s), shown in Figure
7.7.
If further acceleration is required, the options are as
before. We find that the present activity durations of
the nodes on the critical path A, C, and D are 5, 6, and
6, while their crash times are 3, 4, and 5, so durations
of all of these activities can be reduced, least expensive
is to accelerate C and D by one hour each, resulting in
the Figure below.
The critical paths are still the same, but the situation
has changed. Activity D has now reached its crash
time and can no longer be accelerated, so the only way
to accelerate both critical paths simultaneously is to
speed up A at a cost of $600, as in the Figure below.
Notice that all four paths from source to the sink are
critical. The next acceleration will have to ensure that
at least one activity on each path in the network is
accelerated. But the path ns  B  D  nt can no longer
be accelerated at all: activities B and D are at their
respective crash times so the shortest possible project
duration is T = 9 at a cost of $1,800.
Accelerate
Total
Critical Project
activity acceleration
path
duration
costs
—
0
13
AD
D
0 + 200 = AC and
12
200
AD
C and D 200 + 500 = AC and
11
700
AD
C and D 700 + 500 – AC and
10
1,200
AD
C and D
1,200 + 600
= 1,800
AC,
AD,
BC, and
AD
9
This is where the decision maker comes in. He can
determine what it costs to accelerate the project and if
it is worth it. This is a good example of what OR does
best: prepare decisions (rather than actually make
them).
7.3 Project Planning with Resources
We will extend the basic model by adding a resource
requirement (a single resource) referred to as
“employees.” Consider the large project network in
Section 7.1 and assume that resource consumptions of
the individual activities are as shown in the Table
below.
Activity
Resource
consumption
A
B C D
E F G
H
I J
10 20 40 20 25 30 10 25 20 25
It is useful to employ a so-called Gantt chart, a
horizontal bar chart, with activities on the ordinate,
while the abscissa is a time axis. Since activities on the
critical path are scheduled from their earliest possible
start times, they form a non-overlapping sequence of
bars with no gaps. The bold bars in the Figure below
belong to critical activities and their position in the
graph cannot be changed.
Noncritical activities, on the other hand, have some
leeway for their schedule. Suppose now that all
noncritical activities are scheduled as early as possible.
The regular bars that belong to the activities D, G, I,
and J in the Figure above show how these activities are
scheduled. From t = 0 to 5, we only perform activity A,
so that we need 10 employees. From t = 5 to 8, we
perform only activity B, which requires 20 employees,
and from t = 8 to 12, we perform the activities C and D
simultaneously. This requires 40 + 20 = 60 employees.
At time t = 12, activity D is finished, while C is still
going on. However, at t = 12, activity G is also
scheduled, so that 40 employees for C and 10
employees for activity G are needed, and so on, as
shown in the resource requirement graph below.
The resource requirement is very low in the beginning,
then peaks, drops and increases again towards the
end. If we were to be able to pay labor only when
needed (casual labor), the total resource requirement
is the shaded area in the Figure above. We have 10
employees needed for 5 weeks, 20 employees for 3
weeks, 60 employees for 4 weeks, …, for a total of
1,155 employee-weeks. If we pay employees $15/hour
for 8 hours/day and 5 days/week, each employee costs
us $600, so that the resource costs will be $693,000 for
the entire project.
The situation changes dramatically if we have to hire
all needed employees for the entire duration of the
project. As the highest manpower requirement is 60,
this is the smallest number of employees required for
the duration of the project. Employing 60 employees
for 34 weeks at a cost of $600 per week costs
$1,224,000, more than 76% more than the costs for
casual labor: more than 43% of the time the
employees are paid, they are actually idle!
This calls for a different schedule whose maximal
resource requirement is as low as possible. This type of
objective is of the minimax type, where we minimize
the maximum resource required at any point in time.
Rather than scheduling all activities as early as
possible we now schedule all activities as late as
possible, as shown in the Figure below.
While this schedule uses the same number of
employee-weeks
of
labor—1,155—the
highest
employee requirement at any one point is only 50, so
that the costs for employees is $1,020,000 or 16.67%
less than with the “earliest possible” schedule. The idle
time here is still 32%, though.
7.4 The PERT Method
PERT assumes that the duration of the activities are
random
variables
with
known
probability
distributions and are independent of each other, a
fairly strong assumption.
Traditionally, it has been assumed that the duration
follows Euler’s beta distribution, which has been
criticized in the literature; we assume that the
durations follow some bell-shaped distribution, so that
the empirical rule in statistics is known to apply. Then
almost all observations are within three standard
deviations from the mean, while about two thirds are
within one standard deviation. This leaves 1/6 of the
total mass for each of the two tails of the distribution
as shown in the Figure below.
2
1
µ–3σ
3
1
6
µ–1σ
µ
µ+1σ
6
µ+3σ
We define three time estimates for the duration of
each activity:
 a most likely estimate tm (the mode of the
distribution),
 a pessimistic estimate tp, &
 an optimistic estimate to.
The most likely time is associated with the central part
of the distribution, the pessimistic estimate belongs to
the right tail of the distribution, and the optimistic
estimate is on the left tail of the distributions. Their
weights are 2/3, 1/6, and 1/6 as shown in the Figure
above. We can than compute a (weighted) mean for
the duration of an activity as t = 16 to  32 tm  16 t p =
to  4t m  t p
, exactly what was obtained using the
6
assumption of the beta distribution. Similarly, with tp
= μ + 3σ and to = μ – 3σ, we determine the variance of
1 (t  t ) 2 .
the activity duration as σ2 = 36
p
o
Determine now the mean duration and its variance for
all of the given activities from the three time estimates.
We use the mean activity durations in exactly the same
way we used time estimates in the critical path
method. Going through that procedure—forward
sweep, backward sweep, computation of floats, critical
path—we determine the critical path on the basis of
the mean durations of the activities.
The variances of the activity durations on the critical
path can then be used to make probability statements.
In particular, we can provide the decision maker with
an estimate of the probability that the project can be
completed within a certain time.
Consider the Table below. Same graph as before, but
different time estimates.
Activity Immediate
predecessor
Time estimates (in hours)
optimistic
A
B
C
D
E
F
G
H
I
J

A
A, B
B
B, C
C, D, E
D
F, G
F, G
I
5
3
5
3
3
4
1
6
4
2
most pessimistic
likely
6
7
3
3
7
9
4
11
6
9
4
4
2
3
9
12
6
8
2
2
First calculate the mean activity durations, they are 6,
3, 7, 5, 6, 4, 2, 9, 6, and 2 and use them in the standard
procedure, as in the Figure below.
Consider now the critical path ns  A  B – C – E – F –
H  nt. The mean project duration is  = 35. The
4 ,0, 16 , 36 ,0, and 16
variances on the critical path are 36
36
36 36
with a sum of 2 =
=
92
36
92 ,
36
so that the standard deviation is
 1.5986.
The central limit theorem states that the project
duration is approximately normal with mean  and
standard deviation , so that we can estimate the
probability with which the project will be finished
within a prespecified time T: What is the probability
that the project is finished within, say, T = 36 hours?
T   36  35
The z-score is z 
=
 0.6255,

1.5986
so that P(X ≤ 36) = 73.42%.
Area under the normal curve
x
.00
.10
.20
.30
.40
.50
.60
.70
.80
.90
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
2.1
2.2
2.3
2.4
2.5
2.6
2.7
0.00
.5000
.5398
.5793
.6179
.6554
.6915
.7258
.7580
.7881
.8159
.8413
.8643
.8849
.9032
.9192
.9332
.9452
.9554
.9641
.9713
.9773
.9821
.9861
.9893
.9918
.9938
.9953
.9965
0.01
.5040
.5438
.5832
.6217
.6591
.6950
.7291
.7612
.7910
.8186
.8438
.8665
.8869
.9049
.9207
.9345
.9463
.9564
.9649
.9719
.9778
.9826
.9865
.9896
.9920
.9940
.9955
.9966
0.02
.5080
.5478
.5871
.6255
.6628
.6985
.7324
.7642
.7939
.8212
.8461
.8686
.8888
.9066
.9222
.9357
.9474
.9573
.9656
.9726
.9783
.9830
.9868
.9898
.9922
.9941
.9956
.9967
0.03
.5120
.5517
.5910
.6293
.6664
.7019
.7357
.7673
.7967
.8238
.8485
.8708
.8907
.9082
.9236
.9370
.9485
.9582
.9664
.9732
.9788
.9834
.9871
.9901
.9925
.9943
.9957
.9968
0.04
.5160
.5557
.5948
.6331
.6700
.7054
.7389
.7704
.7996
.8264
.8508
.8729
.8925
.9099
.9251
.9382
.9495
.9591
.9671
.9738
.9793
.9838
.9875
.9904
.9927
.9945
.9959
.9969
0.05
.5199
.5596
.5987
.6368
.6736
.7088
.7422
.7734
.8023
.8289
.8531
.8749
.8944
.9115
.9265
.9394
.9505
.9599
.9678
.9744
.9798
.9842
.9878
.9906
.9929
.9946
.9960
.9970
0.06
.5239
.5636
.6026
.6406
.6772
.7123
.7454
.7764
.8051
.8315
.8554
.8770
.8962
.9131
.9279
.9406
.9515
.9608
.9686
.9750
.9803
.9846
.9881
.9909
.9931
.9948
.9961
.9971
0.07
.5279
.5675
.6064
.6443
.6808
.7157
.7486
.7794
.8079
.8340
.8577
.8790
.8980
.9147
.9292
.9418
.9525
.9616
.9693
.9756
.9808
.9850
.9884
.9911
.9932
.9949
.9962
.9972
0.08
.5319
.5714
.6103
.6480
.6844
.7190
.7518
.7823
.8106
.8365
.8599
.8810
.8997
.9162
.9306
.9430
.9535
.9625
.9700
.9762
.9812
.9854
.9887
.9913
.9934
.9951
.9963
.9973
0.09
.5359
.5754
.6141
.6517
.6879
.7224
.7549
.7852
.8133
.8389
.8621
.8830
.9015
.9177
.9319
.9441
.9545
.9633
.9706
.9767
.9817
.9857
.9890
.9916
.9936
.9952
.9964
.9974
2.8
2.9
3.0
3.5
4.0
4.5
5.0
.9974 .9975
.9981 .9982
.9987 .9987
.999767
.9999683
.99999660
.999999713
.9976
.9983
.9987
.9977
.9983
.9988
.9977 .9978
.9984 .9984
.9988 .9989
.9978 .9980
.9985 .9985
.9989 .9989
.9980 .9981
.9986 .9986
.9990 .9990