PROJECT MANAGEMENT WITH CPM 1
Let us consider the following project:
In the heating plant of a palace we have to substitute
an old oil boiler with a new gas boiler, equipped with
electrical valves and an automatic regulator.
The project may be subdivided into activities; an
activity is an autonomous piece of project, executed
under the responsibility of one person, one team or
one firm. Activities’ durations are deterministic.
Among activities there may be some finish-to-start
precedences, which impose the preceding activity
(or activities) shall finish before the preceded one(s)
can begin.
We shall treat the problem by the Critical Path
Method (CPM)
PROJECT MANAGEMENT WITH CPM 2
name activity description duration precedent
A old boiler and pipes disconnection 4 -
B electrical plant disassembly 1 -
C new boiler’s order 40 -
D electrical valves’ order 10 -
E automatic regulator order 30 -
F old boiler removal 2 A
G building works (basement, windows,...) 8 B, F
H electrical plant assembly 2 G
I new boiler assembly 3 C,G
L pipes and electrical valves assembly 3 D, I
M automatic regulator assembly and conn. 1 E, L
N gas plant connection 11 G
O final inspection 1 H,M,N
PROJECT MANAGEMENT WITH CPM 3
AMERICAN GRAPHICAL REPRESENTATION
1 – Layering: activities without predecessors
are put in the first layer, then activities
preceded only by activities in the first layer
are put in the second layer, then activities
preceded only by activities in the first or
second layer are put in the third layer, and so
on till all activities have been layered.
In our example:
A B C D E; F; G; H I N; L; M; O.
PROJECT MANAGEMENT WITH CPM 4
AMERICAN GRAPHICAL REPRESENTATION
2 – Activities on arcs: activities are
represented by directed arcs; if activities A1,
A2 precede activities B1, B2, then precedence
is represented as follows:
A1 B1
A2 B2
Circles are called events and separate
predecessors and successors
PROJECT MANAGEMENT WITH CPM 5
AMERICAN GRAPHICAL REPRESENTATION
3 – All activities of the first layer (initial
activities) take origin from the project
beginning event which is generally numbered
0; in our example:
A
B
0
C
D
E
PROJECT MANAGEMENT WITH CPM 6
AMERICAN GRAPHICAL REPRESENTATION
4 – All activities of the last layer (final
activities) take end on the project ending
event; in our example:
O
9
PROJECT MANAGEMENT WITH CPM 7
AMERICAN GRAPHICAL REPRESENTATION
5 – In our example activities H, I, N are
preceded by activity G, but only activity I is
preceded by activity C: in order to correctly
represent precedences, a dummy (fictitious)
activity of null duration is added as follows:
H
G
Y N
C I
PROJECT MANAGEMENT WITH CPM 8
AMERICAN GRAPHICAL REPRESENTATION
6 – In our example activities H, N are both
preceded by activity G, and both precede
activity O: in order to avoid two arcs with the
same extremal events, a dummy (fictitious)
activity of null duration is added as follows:
G H O
N X
PROJECT MANAGEMENT WITH CPM 9
AMERICAN GRAPHICAL REPRESENTATION
7 – All events are numbered in such a way
that every activity has its starting event with a
number smaller than the one of its ending
event: i < j below:
H
i j
PROJECT MANAGEMENT WITH CPM 10
EXAMPLE AMERICAN REPRESENTATION
F G N
1 2 3 7
X
O
A B Y H 8 9
4
C I M
0 D
5
L
E 6
PROJECT MANAGEMENT WITH CPM 11
MINIMUM PROJECT COMPLETION TIME
8 – The problem consists in finding the
minimum project completion time. The model
is a linear program: in our example:
MIN (t9 – t0) s.t.:
t0=0; t1-t0≥4; t2-t0≥1; t2-t1≥2; t3-t2≥8; t4-t0≥40;
t4-t3≥0; t5-t0≥10; t5-t4≥3; t6-t0≥30; t6-t5≥3;
t7-t3≥11; t8-t3≥2; t8-t6≥1; t8-t7≥0; t9-t8≥1.
As we have a maximum path problem a
specific algorithm is better than simplex!
PROJECT MANAGEMENT WITH CPM 12
SPECIFIC ALGORITHM
The specific algorithm consists of two
phases. In the first forward phase it finds, for
every event i, the minimum time ti, i.e., the
time before which the event cannot take place
because of preceding activities. In the second
backward phase it finds, for every event i, the
maximum time Ti, i.e., the time after which the
event causes a delay in project completion
because of following activities.
PROJECT MANAGEMENT WITH CPM 13
SPECIFIC ALGORITHM FORWARD PHASE
S1: i:=0, ti:=0;
S2: i:=i+1, ti:=MAX{th+dur(hi) | h€Prec(i)}
S3: if i is the project ending event ti=project
completion time and STOP, else go to S2
SPECIFIC ALGORITHM BACKWARD PHASE
S1: i:=n (ending event), Ti:= Tf = tn (final time)
S2: i:=i-1, ti:=Min{tj-dur(ij) | j€Succ(i)}
S3: if i is the project beginning event STOP,
else go to S2
PROJECT MANAGEMENT WITH CPM 14
EVENTS’ TOTAL FLOAT
The difference Ti-ti is defined as the total float
fi of event i, and is the time that event i may
delay with respect to minimum time without
delaying the whole project completion.
Events with null float are critical; all paths
from beginning to ending event which cross
only critical events are called critical paths; all
activities on a critical paths are critical
activities, which shall not increase their
duration, otherwise the whole project delays.
PROJECT MANAGEMENT WITH CPM 15
EVENTS’ MIN TIME, MAX TIME AND FLOAT
i ti Ti fi
0 0 0 0
1 4 26 22
2 6 28 22
3 14 36 22
4 40 40 0
5 43 43 0
6 46 46 0
7 25 47 22
8 47 47 0
9 48 48 0
PROJECT MANAGEMENT WITH CPM 16
EUROPEAN GRAPHICAL REPRESENTATION
1 – Layering: activities without predecessors
are put in the first layer, then activities
preceded only by activities in the first layer
are put in the second layer, then activities
preceded only by activities in the first or
second layer are put in the third layer, and so
on till all activities have been layered.
In our example:
A B C D E; F; G; H I N; L; M; O.
PROJECT MANAGEMENT WITH CPM 17
EUROPEAN GRAPHICAL REPRESENTATION
2 – Activities on nodes: activities are
represented by nodes; if activity A precedes
activity B, then precedence is represented by
an arrow, as follows:
A B
PROJECT MANAGEMENT WITH CPM 18
EUROPEAN GRAPHICAL REPRESENTATION
3 – If there is only one activity in the first layer
(initial activity) then the graph takes origin
from it; if there are more activities in the first
layer then a fictitious initial activity of null
duration, preceding all activities of the first
layer, is added. In our example we have the
second situation: A B
C
X
D
E
PROJECT MANAGEMENT WITH CPM 19
EUROPEAN GRAPHICAL REPRESENTATION
4 – If there is only one activity in the last layer
(ending activity) then the graph ends with it; if
there are more activities in the last layer then
a fictitious ending activity of null duration,
successor of all activities of the last layer, is
added. In our example we have the first
situation:
O
PROJECT MANAGEMENT WITH CPM 20
EXAMPLE EUROPEAN REPRESENTATION
A F H
B G N O
C I
x D
L
E M
PROJECT MANAGEMENT WITH CPM 21
EUROPEAN ACTIVITIES TIME VARIABLES
5 –Four variables are defined for each activity:
ES=early start: time before which the activity
cannot start because of preceding activities
EF=early finish: time before which the activity
cannot end because of preceding activities
LS=late start: time after which the activity
shall not start otherwise it delays the project
LF=late finish: time after which the activity
shall not finish otherwise it delays the project
PROJECT MANAGEMENT WITH CPM 22
EUROPEAN SPECIFIC ALGORITHM
The specific algorithm consists of two
phases. In the first forward phase it finds, for
every activity i, the early start ES(i) and the
early finish EF(i). In the second backward
phase it finds, for every activity i, the late
finish LF(i) and the late start LS(i).
PROJECT MANAGEMENT WITH CPM 23
EUROPEAN ALGORITHM FORWARD PHASE
Starting from the first layer and going on layer
by layer till the last one;
For every activity i of the current layer we
have:
If the activity is the initial one: ES = 0,
else: ES(i) = MAX {EF(h) | h € Prec(i)}
EF(i) = ES(i) + dur(i)
PROJECT MANAGEMENT WITH CPM 24
EUROPEAN ALGORITHM BACKWARD PHASE
Starting from the last layer and going on layer
by layer till the first one;
For every activity i of the current layer we
have:
If the activity is the ending one: LF(i) = LS(i)
else: LF(i) = MIN {LS(j) | j € Succ(i)}
LS(i) = LF(i) - dur(i)
PROJECT MANAGEMENT WITH CPM 25
EUROPEAN ACTIVITIES FLOATS
6 –Two floats are defined for each activity:
TF(i)=total float=EF(i)-ES(i)=LF(i)-LS(i):
increase of the activity duration, or delay in
the activity start, which does not cause any
delay in the whole project completion time
FF(i)=free float= MIN {ES(j)| j € Succ(i)} - EF(i):
increase of the activity duration, or delay in
the activity start, which does not cause any
delay in the successor activities’ start
PROJECT MANAGEMENT WITH CPM 26
EUROPEAN CRITICAL ACTIVITIES
7 – Activities with null total float are critical;
paths from the initial activity to the ending
activity which cross only critical activities are
critical paths
EF(ending activity) = project completion time
PROJECT MANAGEMENT WITH CPM 26
EUROPEAN GRAPHICAL REPRESENTATION
8 – The four characteristic times are usually
written near every activity in the following
format:
ES EF
LS LF
PROJECT MANAGEMENT WITH CPM 28
EXAMPLE EUROPEAN RESULTS 1
Activity ES EF LS LF tf ff
A 0 4 22 26 22 0
B 0 1 27 28 27 5
C 0 40 0 40 0 0
D 0 10 33 43 33 33
E 0 30 16 46 16 16
F 4 6 26 28 22 0
G 6 14 28 36 22 0
H 14 16 45 47 31 31
PROJECT MANAGEMENT WITH CPM 29
EXAMPLE EUROPEAN RESULTS 2
Activity ES EF LS LF tf ff
I 40 43 40 43 0 0
L 43 46 43 46 0 0
M 46 47 46 47 0 0
N 14 25 36 47 22 22
O 47 48 47 48 0 0
PROJECT MANAGEMENT WITH CPM 30
EXAMPLE EUROPEAN RESULTS 3
A graphical presentation of results is the
Gantt diagram, a cartesian diagram where
every activity i is represented by a horizontal
bar, where the extreme points have abscissas
respectively equal to ES(i) and EF(i). If useful
bars may be protract with a segment equal
either to tf(i) or to ff(i).
See our example Gantt diagram where no
floats are evidenced.
PROJECT MANAGEMENT WITH CPM 31
EXAMPLE GANTT DIAGRAM
A
B
C
D
E
F
G
H
I
L
M
N
PROJECT MANAGEMENT WITH CPM 32
LIMITED RESOURCE PROJECT PLANNING
Consider a new example, where activities are
characterized by name, duration, precedent
activities and amount of used resource. This
resource is a hired resource, like for instance
operators, trucks, machines, equipments, etc.
We want to plan the project in the case this
resource is limited. It is obvious that the
elaboration shall be different from the one we
employed in the previous example, where we
considered unlimited resources.
PROJECT MANAGEMENT WITH CPM 33
LIMITED RESOURCE EXAMPLE DATA
activity duration predecessors resource
A 7 - 3
B 5 A 2
C 2 B 4
D 3 - 6
E 2 D 5
F 1 E, H 1
G 4 - 3
H 6 G 5
I 3 H 2
PROJECT MANAGEMENT WITH CPM 34
LIMITED RESOURCE EXAMPLE GRAPH
A B C
x D E F x
G H I
PROJECT MANAGEMENT WITH CPM 35
If the amount of resource is infinite, activity
times are the following:
activity ES EF LS LF
A 0 7 0 7
B 7 12 7 12
C 12 14 12 14
D 0 3 8 11
E 3 5 11 13
F 10 11 13 14
G 0 4 1 5
H 4 10 5 11
I 10 13 11 14
PROJECT MANAGEMENT WITH CPM 36
Use of unlimited resource (resource limit=7)
14
12
10 G H
8
6 D
E H I
4 F
I
2 C
A
0 B
PROJECT MANAGEMENT WITH CPM 37
LIMITED RESOURCE PARALLEL TECHNIQUE
Activities are scheduled according to a
decision set (DS), which is a dynamical list
built up for every instant of time.
Activities put in DS(t) are ordered according
to increasing parallel total float, based on
unlimited resource activity times, given by:
TF(k):=LS(k)-t
Activities at the top of the list have higher
urgency to be scheduled.
PROJECT MANAGEMENT WITH CPM 38
PARALLEL TECHNIQUE ALGORITHM
S1: t:=0; put in DS(0) all activities which can
start at time 0;
S2: order all activities in DS(t);
S3: extract from DS(t), in the order, all activi-
ties which can be scheduled at t because
of limited resource, schedule them and
cancel them from DS(t); put the remai-
ning activities into DS(t+1)
S4: t:=t+1; add to DS(t) all activities which can
start at time t because of preceding ones;
if DS(t)=Φ STOP else go to S2;
PROJECT MANAGEMENT WITH CPM 39
PARALLEL TECHNIQUE ALGORITHM
Take the example:
-DS(0):={A,D,G}, ordered {A,G,D}
-schedule A and G at time 0, put D into DS(1)
-t:=1; no activity added to DS(1); DS(1)={D} is
already ordered; D cannot be scheduled
because of missing resource;
-t:=2, 3 without scheduled activities;
-t:=4; H is added to DS(4), ordered {H,D};
-t:=5, 6 without scheduled activities;
-t:=7; B is added to DS(7), ordered {H;B;D}
PROJECT MANAGEMENT WITH CPM 40
PARALLEL TECHNIQUE ALGORITHM
-H and B are scheduled at time 7; DS(8)={D}
-t:=8, 9, 10, 11, 12 no scheduled activities;
-t:=13 C and I are added to DS(13), ordered {D,I,C};
-D is scheduled at time 13; DS(14)={I,C};
-t:=14, 15 no scheduled activities;
-T:=16 E is added to DS(16), ordered {E,I,C};
-E and I are scheduled at time 16; DS(17)={C};
-t:=17 no scheduled activities;
-t:=18 F is added to DS(18), ordered {C,F};
-C and F are scheduled at time 18; DS(19)=Φ; STOP.
PROJECT MANAGEMENT WITH CPM 41
Use of limited resource=7 (parallel technique):
14
12
10
8
6 B F
4 G E
D C
2 H
A I
0
PROJECT MANAGEMENT WITH PERT 41
PROJECT EVALUATION AND REVIEW TECHNIQUE
(PERT)
It cosiders finish-to-start precedences and random
activity durations.
Conventionally the method considers for every
activity k three estimates:
ak minimum duration of activity k
bk maximum duration of activity k
mk most probable duration of activity k
From the three estimates we assume the mean
activity duration: tk = (ak + bk + 4mk)/6
and the standard deviation: бk = (bk - ak)/6
PROJECT MANAGEMENT WITH PERT 43
PERT TECHNIQUE
Here we solve a problem of unlimited resources
CPM, taking for every activity the mean duration.
The resulting completion time Tf is considered as
the expected project duration.
Then we consider the sum of variances бk2 of
activities on the critical path as the variance of
project duration бf2 .
We assume the project duration has a gaussian
distribution of mean Tf and variance бf2 .
It is obvious that results are easy to obtain but
strongly approximated.
PROJECT MANAGEMENT WITH PERT 44
PERT SIMULATION TECHNIQUE
For every activity a duration probability
distribution is given. From every distribution a
random value is extracted, then CPM is solved
and we obtain a realization of project
completion time. This is iterated a sufficient
number of times (50-100 is generally enough),
i.e., a sample is taken, then the sample
distribution of project completion time is
obtained. The result is more precise than the
one of the conventional method.
PROJECT MANAG. OTHER TECHNIQUES 45
CPM-cost: activity duration may be modified with
change of activity cost. The objective is to
minimize total project cost.
MPM (Metra Potential Method): precedence may be
of the finish-to-start, start-to-start, finish-to-
finish and start-to-finish type