Operations Management and Strategic Management · Project Management, Monitoring and Control
Network Analysis: Critical Path Method (CPM)
Updated 10 October 2026 · Fact-checked
CPM is a project scheduling method that draws activities as arrows in a network with fixed durations. A forward pass gives earliest times, a backward pass gives latest times. Activities with zero total float form the critical path, whose length is the shortest possible project duration.
Understand Network Analysis: CPM
A project is a set of activities that must follow a logical order. Some activities cannot start until others finish. The Critical Path Method (CPM) shows this order as a network and tells you the minimum time needed to finish the whole project.
In an activity-on-arrow (AOA) network, each activity is an arrow. Each circle is an event (node), a point in time when activities finish and others begin. Events are numbered so that the number at the tail of an arrow is smaller than the number at its head. In CPM, each activity has one fixed duration.
Sometimes two activities need the same predecessor but one also needs another activity. A dummy activity (dotted arrow, zero duration, zero resource) is then used to show the dependence correctly. It is also used when two activities would otherwise share the same start and end events.
The forward pass finds the earliest event time (E). The backward pass finds the latest event time (L) without delaying the project. The critical path is the longest path from start to end. Activities on it have no spare time, so any delay in them delays the project.
Non-critical activities have float, which is the time they can be delayed or stretched without harm. Total, free and independent float measure this in three different ways. Exams ask you to draw the network, find the critical path, project duration and floats.
Key rules to remember
- Earliest event time (forward pass)
- E(j) = maximum of [E(i) + duration(i, j)] over all activities ending at event j
- Start with E(1) = 0. Take the largest value where several arrows merge.
- Latest event time (backward pass)
- L(i) = minimum of [L(j) − duration(i, j)] over all activities starting at event i
- Start with L(last) = E(last). Take the smallest value where several arrows leave.
- Earliest start and finish
- EST = E(i); EFT = EST + duration
- For activity (i, j).
- Latest finish and start
- LFT = L(j); LST = LFT − duration
- For activity (i, j).
- Total float
- Total float = L(j) − E(i) − duration = LST − EST = LFT − EFT
- Zero total float means the activity is critical.
- Free float
- Free float = E(j) − E(i) − duration
- Delay possible without affecting the earliest start of succeeding activities. Free float ≤ total float.
- Independent float
- Independent float = E(j) − L(i) − duration
- If the result is negative, take it as zero. Independent float ≤ free float.
- Critical path
- Critical activity: E(i) = L(i), E(j) = L(j) and L(j) − E(i) = duration
- Project duration equals the sum of durations on the critical path.
How to solve Network Analysis: CPM questions
Use this order for any CPM question. Do not skip the table at the end, because step marks are given for it.
- 1List each activity with its predecessors and duration. Decide which activities start the project and which end it.
- 2Draw the AOA network from left to right. Use one start event and one end event. Add dummy activities where dependence needs them. Number events so arrows always go from a smaller to a larger number.
- 3Do the forward pass. Set E(1) = 0 and compute E for each event, taking the maximum where arrows merge.
- 4Do the backward pass. Set L(last) = E(last) and work back, taking the minimum where arrows leave an event.
- 5Prepare a table with columns: activity, duration, EST, EFT, LST, LFT, total float, free float, independent float.
- 6Mark activities with zero total float as critical. Trace them from start to end to write the critical path.
- 7State the project duration, which is E of the last event, and the critical path clearly.
- 8Answer any extra part, such as the effect of delay in an activity, using the float values.
Quickest way: Path enumeration with a float table
When to use it: Use it for small networks of about 6 to 10 activities, which is typical in the exam.
- List all paths from start to end and add their durations. The longest path is the critical path and its length is the project duration.
- Do the forward and backward pass directly on the diagram, writing E and L beside each event.
- Compute total float for each non-critical activity as L(j) − E(i) − duration.
- Compute free float as E(j) − E(i) − duration. Check it is not above total float.
- Check your answer: the sum of durations on the critical path must equal E of the last event.
Common mistakes in Network Analysis: CPM
Taking the minimum in the forward pass or the maximum in the backward pass.
Students mix up the two passes under time pressure.
Fix: Remember: forward pass takes the largest (the event waits for the slowest arrow); backward pass takes the smallest (the tightest deadline).
Missing or wrongly placing dummy activities.
The precedence table is not read carefully, so activities get the wrong predecessors.
Fix: For each activity, re-read its predecessors in the diagram after drawing. Add a dummy only when needed to show a dependence or to avoid two arrows with the same start and end events.
Treating the activity with the longest duration as critical.
Students judge by one activity instead of the whole path.
Fix: Critical means zero total float, which is decided by path length, not single activity size.
Mixing up the three floats.
The formulas look alike.
Fix: Total uses L(j) − E(i); free uses E(j) − E(i); independent uses E(j) − L(i). All subtract the duration. Total ≥ free ≥ independent.
Showing a negative independent float.
Students forget that the value cannot be below zero.
Fix: If E(j) − L(i) − duration is negative, write 0.
Forgetting to write the critical path as a sequence of events or activities.
Students stop after finding the duration.
Fix: Always state the path, for example 1 → 2 → 4 → 6, and the total duration with units.
Worked examples
Example 1
A project has these activities (duration in days): A (1–2) 4; B (1–3) 3; C (2–4) 5; D (3–4) 6; E (4–5) 2. Draw the network logic, find the earliest and latest event times, the critical path and the project duration.
Show the solution
- Forward pass: E(1) = 0. E(2) = 0 + 4 = 4. E(3) = 0 + 3 = 3.
- E(4) = max[4 + 5, 3 + 6] = max[9, 9] = 9. E(5) = 9 + 2 = 11.
- Backward pass: L(5) = 11. L(4) = 11 − 2 = 9.
- L(3) = 9 − 6 = 3. L(2) = 9 − 5 = 4. L(1) = min[4 − 4, 3 − 3] = 0.
- Total float: A = 4 − 0 − 4 = 0; B = 3 − 0 − 3 = 0; C = 9 − 4 − 5 = 0; D = 9 − 3 − 6 = 0; E = 11 − 9 − 2 = 0.
- All activities have zero float, so both paths 1–2–4–5 (4 + 5 + 2 = 11) and 1–3–4–5 (3 + 6 + 2 = 11) are critical.
Answer: Project duration = 11 days. There are two critical paths: A–C–E (1→2→4→5) and B–D–E (1→3→4→5).
Example 2
Activities (duration in weeks): A (1–2) 2; B (1–3) 4; C (2–4) 3; D (3–4) 2; E (3–5) 5; F (4–6) 4; G (5–6) 3. Find the critical path, project duration, and total float, free float and independent float for each activity.
Show the solution
- Forward pass: E(1) = 0; E(2) = 2; E(3) = 4.
- E(4) = max[2 + 3, 4 + 2] = 6. E(5) = 4 + 5 = 9. E(6) = max[6 + 4, 9 + 3] = max[10, 12] = 12.
- Backward pass: L(6) = 12. L(5) = 12 − 3 = 9. L(4) = 12 − 4 = 8.
- L(3) = min[8 − 2, 9 − 5] = min[6, 4] = 4. L(2) = 8 − 3 = 5. L(1) = min[5 − 2, 4 − 4] = 0.
- Total float = L(j) − E(i) − d: A = 5 − 0 − 2 = 3; B = 4 − 0 − 4 = 0; C = 8 − 2 − 3 = 3; D = 8 − 4 − 2 = 2; E = 9 − 4 − 5 = 0; F = 12 − 6 − 4 = 2; G = 12 − 9 − 3 = 0.
- Free float = E(j) − E(i) − d: A = 2 − 0 − 2 = 0; B = 0; C = 6 − 2 − 3 = 1; D = 6 − 4 − 2 = 0; E = 0; F = 12 − 6 − 4 = 2; G = 0.
- Independent float = E(j) − L(i) − d, minimum 0: A = 2 − 0 − 2 = 0; C = 6 − 5 − 3 = −2, so 0; D = E(4) − L(3) − 2 = 6 − 4 − 2 = 0; F = 12 − 8 − 4 = 0; B, E, G = 0.
- Critical activities are those with zero total float: B, E, G.
Answer: Critical path: 1 → 3 → 5 → 6 (B–E–G). Project duration = 12 weeks. Total float: A 3, B 0, C 3, D 2, E 0, F 2, G 0. Free float: A 0, B 0, C 1, D 0, E 0, F 2, G 0. Independent float is 0 for all activities.
Exam tips
- Draw the network neatly with a ruler and big circles. Write E and L values in each event so the examiner can follow your passes.
- Always give the activity table with all floats, even if only the critical path is asked. It earns step marks.
- Write the critical path and the project duration with units as a separate final line.
- In MCQs, remember that critical activities have zero total float, and free float cannot exceed total float.
- If a question asks the effect of a delay, compare the delay with the activity's total float. Delay up to total float does not change project duration; beyond it, the project is delayed by the excess.
Practice questions from Project Management, Monitoring and Control
- In the traditional project management 'triple constraint', a client of an Indian infrastructure firm demands that the scope be expanded mid-…
- Which tool breaks the total project scope into smaller, hierarchical, manageable deliverables and work packages?
- In the time-cost trade-off curve for a project, as the project duration is progressively reduced by crashing, how do total direct costs and …
- A project has a budgeted cost of work scheduled (planned value) of ₹8,00,000 to date, earned value of ₹6,40,000 and actual cost of ₹7,20,000…
- For an activity in a CPM network, the earliest start (ES) is 8 days, duration is 5 days, and the latest finish (LF) is 18 days. What is its …
Network Analysis: CPM: frequently asked questions
How do I find the critical path in CPM?
Do the forward and backward passes and find total float for each activity. Activities with zero total float are critical. Join them from start to end to get the critical path, which is also the longest path.
What is the difference between total float, free float and independent float?
Total float is the delay possible without delaying the project. Free float is the delay possible without delaying the earliest start of the next activity. Independent float is the delay possible even if the predecessor finishes as late as possible and the successor starts as early as possible.
Can a network have more than one critical path?
Yes. If two or more paths have the same longest length, each is critical. Activities on all of them have zero total float.
When do I use a dummy activity?
Use it when an activity depends on another activity that is not shown by the shared event, or when two activities would have the same start and end events. It has zero duration and uses no resources.