What is Critical Path Method?
A lot of confusion in CPM. I’ve tried to simplify the calculation for CPM – let me know your feedback.
A critical path is the longest path in the network. Each node which falls under critical path has zero or negative float (Slack).
Now how do we calculate critical path??
I’ve seen various illustrations having a different way to calculate CPM, few are:
– The project starts on day 1.
– The project starts on day 0.
Both the approaches give same results, however, I liked the day 0 approach better, its simpler, easy and lesser room for errors.
|Figure 1 – Example|
There are 3 steps to calculate CPM:
1. Forward Pass – To calculate the Early Start(ES) and Early Finish(EF) of the node.
2. Backward Pass – To calculate Late Start (LS) and Late Finish(LF) of the node.
3. Calculate Float and Thus CPM.
The Forward Pass:
|Forward Pass Illustration|
We start from first Node or Start node.
The works begin on day 0.
We’ll fill up information in highlighted boxes:
In forward pass, we calculate the Early Start and early finish date of activities.
The activity starts on day zero, since A activity duration is for 5 days, the early finish will take Early Start and duration i.e.:
A(EF) = A(ES) + Duration
A (EF)= 0 + 5 = 5
Since there is only one node which precedes activity B. The relationship is F->S. That means that activity B can start only when activity A ends. Hence
B (ES) = A (EF) = 5
B(EF) = B(ES) + Duration = 5+ 5 = 10
C(ES) = B(EF) = 10
C(EF) = C(ES) + Duration = 10+ 4 = 14
Now node C leads to node Z, but can we calculate the Z(ES )??
NO we cannot since it has to wait for 2 more activities for it to start. i.e.
Node Z cannot start till activity C, E and H are complete. So let’s complete the calculations of all activities before Z.
Activity D,E, G, H
The calculations are pretty simple (same as B) since they have only one predecessor.
Back to activity Z:
Since this is a merging node, i.e. many activities has to end before we begin activity Z,
Z has more than one predecessor.
Z can start only when all the activities which are merging at Z can close hence Z can only start when the last activity (activity having most late EF completes)
Z(ES) = Max | C(EF) or E(EF) or H(EF) |
Z(ES) = Max | 14 or 28 or 20|
Z(ES) = 28
Z(EF) = 28 + 0 = 28.
|Forward Pass Calculations|
Here we’ll start from the last node i.e. Z,
we calculate the bottom 2 squares (late Start and late finish)
Since this is the last node, Z’s last finish date would be equal to earliest finish date of Z i.e.
Z(LF) = Z(EF) = 28
Z(LS) = Z(LF) – Duration
Z(LS) = 28 – 0 = 28
Node H has only one node preceding it in backward pass (node Z). Hence
H(LF) = Z(LS) = 28
H(LS) = H(LF) – H(Duration) = 28 – 8 = 20
Node E has only one node preceding it in backward pass (node Z). Hence
E(LF) = Z(LS) = 28
E(LS) = E(LF) – E(Duration) = 28 – 10 = 18
Node C has only one node preceding it in backward pass (node Z). Hence
C(LF) = C(LS) = 28
C(LS) = C(LF) – C(Duration) = 28 – 4 = 24
Node G and G calculations are exactly as simple node calculations
Since Node B is where most of the activities are merging in backward pass i.e. C, D and G, this is where we need to pay more attention. In backward pass the node B’s Latest Finish (LF) would be earliest or all the nodes Late Start i.e.
B(LF) = Least | C(LS) or D(LS) or G(LS)|
B(LF) = Least | 24 or 10 or 18|
B(LF) = 10
B(LS) = B(LF) – B(Duration) = 10 -5 = 5
A(LF) = B(LF) = 5
A(LS) = A(LF) – A(Duration) = 5 – 5 = 0
Calculating Total Float or Slack:
The total amount of time that a schedule activity may be delayed from its early start date without delaying the project finish date, or intermediary milestone. It is calculated using:
Activity (ES) – Activity (LS) or activity (EF) Activity(LF) – Both will give you same results.
This is an amount of time that a schedule activity can be delayed without delaying the early start of any immediately following schedule activities.
E.g. – For activity C
C (Total Float) = C (LS) – C(ES) = 24 – 10 = 14
C (Free Float) = ES of next activity – C(EF )
C (Free Float) = Z(ES) – C(EF ) = 28 -14 = 14
Now the Critical path
Calculate the Total float for all activities as per the formula.
All nodes which have zero or negative float/slack forms the CRITICAL PATH.
Here we can see that the nodes:
A,B,D,E and Z forms the critical path
The same CPM is solved by me here at youtube:
– You tube video at:
Hope this is useful. Please do send me your comments/feedback at firstname.lastname@example.org.