9.3 Critical Path Method (CPM) Forward & Backward Pass
Key Takeaways
- The Critical Path Method (CPM) is a deterministic network analysis algorithm that calculates the mathematically earliest and latest calendar dates for all scheduled activities based on durations and logic.
- The Forward Pass proceeds from left to right to compute Early Start (ES) and Early Finish (EF) dates, establishing the overall minimum project duration and resolving merge points by selecting the maximum predecessor EF.
- The Backward Pass proceeds from right to left to compute Late Finish (LF) and Late Start (LS) dates, resolving burst points by selecting the minimum successor LS.
- CPM computations can follow either the 0-based continuous-time convention (EF = ES + D) or the 1-based calendar-day convention (EF = ES + D - 1), both yielding identical total project durations and float values when applied consistently.
- The Critical Path is the longest continuous sequence of dependent activities from project start to finish, determining the shortest possible duration to complete the project, characterized by zero or minimum Total Float.
9.3 Critical Path Method (CPM) Forward & Backward Pass
Quick Summary: The Critical Path Method (CPM) is the core mathematical algorithm of project scheduling. Operating on a deterministic Activity-on-Node (AON) network, CPM executes two sequential passes: the Forward Pass (moving left-to-right to calculate Early Start and Early Finish dates, establishing minimum project duration) and the Backward Pass (moving right-to-left to calculate Late Finish and Late Start dates). At network merge points, the forward pass takes the maximum early finish of predecessors; at network burst points, the backward pass takes the minimum late start of successors. The Critical Path is the longest continuous sequence of activities from project inception to completion, dictating the shortest time in which the project can be completed.
1. CPM Deterministic Network Theory & Historical Context
Developed in the late 1950s by the DuPont corporation and Remington Rand Univac to control industrial plant maintenance shutdowns, the Critical Path Method (CPM) revolutionized capital project management. Unlike the Program Evaluation and Review Technique (PERT)—which incorporates probabilistic three-point time estimates (Optimistic, Most Likely, Pessimistic) to address research and development uncertainty—CPM is a deterministic scheduling technique that relies on a single, known duration estimate for each activity.
Fundamental Axioms of CPM Scheduling
- Deterministic Durations: Each activity possesses a defined, fixed work duration derived from quantity takeoffs and historical labor productivity rates.
- Topological Ordering: Work flows in a closed, directed acyclic network. No activity can loop back to an earlier activity (no circular logic).
- Resource Independence (Standard CPM): The basic forward and backward pass algorithms assume unconstrained resource availability (resource leveling is performed as a secondary optimization step).
- The Critical Path Axiom: The minimum time required to complete the entire project is determined by the longest sequence of dependent activities through the network.
2. Standard Activity-on-Node (AON) Node Topography
In modern project controls, CPM networks are rendered using the Activity-on-Node (AON) format. Each activity is represented as a structured rectangular block (or node) divided into distinct data cells displaying its computational attributes.
+-----------------------------------------------------------------------------------+
| STANDARD AON 6-CELL NODE LAYOUT |
+-----------------------+---------------------------+-------------------------------+
| Early Start (ES) | Duration (D) | Early Finish (EF) |
+-----------------------+---------------------------+-------------------------------+
| Activity Identifier & | |
| Descriptive Name | |
+-----------------------+---------------------------+-------------------------------+
| Late Start (LS) | Total Float (TF) | Late Finish (LF) |
+-----------------------+---------------------------+-------------------------------+
- Early Start (ES): The earliest possible calendar date/time an activity can begin, assuming all predecessor activities complete on their earliest dates.
- Duration (D): The estimated working time required to execute the activity.
- Early Finish (EF): The earliest possible calendar date/time an activity can finish.
- Late Start (LS): The latest possible date/time an activity can start without delaying the project completion date.
- Total Float (TF): The scheduling flexibility or slack available (LS - ES or LF - EF).
- Late Finish (LF): The latest possible date/time an activity can finish without delaying project completion.
3. The Forward Pass Algorithm: Calculating Early Dates
The Forward Pass proceeds chronologically from the start of the project (left) to the completion of the project (right). Its objectives are to calculate the Early Start (ES) and Early Finish (EF) for every activity and determine the minimum project duration.
Timing Conventions: 0-Based vs. 1-Based Systems
A major source of confusion on certification exams is the distinction between the 0-based convention (continuous timeline / end-of-period convention) and the 1-based convention (calendar day / start-of-day convention).
+-----------------------------------------------------------------------------------+
| FORWARD PASS MATHEMATICAL CONVENTIONS |
+-----------------------+---------------------------+-------------------------------+
| PARAMETER | 0-BASED CONVENTION | 1-BASED CONVENTION |
| | (Continuous / Software) | (Calendar Day / Hand Count) |
+-----------------------+---------------------------+-------------------------------+
| Project Start Time | Day 0 (t = 0) | Day 1 (Morning of Day 1) |
| Early Finish Formula | EF = ES + Duration | EF = ES + Duration - 1 |
| Linear Successor Start| ES_next = EF_prior | ES_next = EF_prior + 1 |
| Merge Point Rule | ES = max(EF of all preds) | ES = max(EF of all preds) + 1 |
+-----------------------+---------------------------+-------------------------------+
Example: An activity of 5 days duration starting at project inception:
- 0-Based: ES = 0; EF = 0 + 5 = 5. (Finishes at the end of Day 5; successor starts at Day 5).
- 1-Based: ES = 1; EF = 1 + 5 - 1 = 5. (Occupies Days 1, 2, 3, 4, 5; successor starts on Day 5 + 1 = 6).
[!TIP] Exam Strategy: The overwhelming majority of AACE CCT quantitative schedule network problems utilize the 0-based convention because it avoids cumbersome +1 and -1 off-by-one arithmetic. Unless an exam question explicitly states "using Day 1 as project start", apply the standard 0-based system (EF = ES + D).
The Merge Point Decision Rule
A Merge Point occurs when an activity has two or more immediate predecessor activities converging upon it.
- Physical Rationale: An activity with multiple prerequisites cannot physically commence until the very last prerequisite has completed. Therefore, the scheduler must evaluate all converging paths and select the maximum early finish date.
MERGE POINT EXAMPLE (0-Based):
Activity A (EF = 12) ----+
|-----> Activity C: ES = max(12, 16, 9) = 16
Activity B (EF = 16) ----+
|
Activity D (EF = 9) ----+
4. The Backward Pass Algorithm: Calculating Late Dates
The Backward Pass proceeds in reverse chronological order from project completion (right) back to project inception (left). Its objective is to calculate the Late Finish (LF) and Late Start (LS) dates for every activity.
Terminal Initialization Rule
At the final activity (or activities) of the network, the Late Finish (LF) is set equal to its Early Finish (EF) (unless an external, contractually mandated completion constraint date is imposed):
The Late Start Formula
Once the Late Finish is established, the Late Start is calculated by subtracting duration:
- 0-Based Convention: LS = LF - Duration
- 1-Based Convention: LS = LF - Duration + 1
The Burst Point Decision Rule
A Burst Point occurs when an activity has two or more immediate successor activities diverging from it.
- Physical Rationale: If an activity finishes later than the earliest required start among its successors, it will push that successor out and delay the entire project. Therefore, when tracing backward, the scheduler must select the minimum late start date among all immediate successors.
BURST POINT EXAMPLE (0-Based):
+-----> Activity X (LS = 22)
Activity M: |
LF = min(22, 18, 25) = 18 +-----> Activity Y (LS = 18)
|
+-----> Activity Z (LS = 25)
5. Defining the Critical Path and Critical Activities
Once the forward and backward passes are completed, the scheduler evaluates schedule slack (float) to isolate the Critical Path.
Mathematical Characteristics of the Critical Path
- Longest Duration: It is the continuous path from start to finish with the longest cumulative duration.
- Zero (or Minimum) Float: In an unconstrained project schedule where LF(project) = EF(project), all activities on the critical path have:
- Determinant of Completion: Any delay to any activity on the critical path causes an equal, day-for-day delay to the final project completion date.
- No Slack Protection: Activities on the critical path have zero schedule buffer; their early dates equal their late dates (ES = LS and EF = LF).
Multiple & Shifting Critical Paths
- Parallel Critical Paths: A project network can have two or more parallel critical paths of identical duration. When multiple critical paths exist, project risk increases exponentially because a delay on either path delays the project.
- Path Sensitivity: Near-critical paths (paths with very low Total Float, such as 1 or 2 days) can easily become critical if minor field delays occur.
6. Comprehensive Step-by-Step Worked Network Example
Scenario: A project controls technician at an industrial refinery must analyze a maintenance overhaul network consisting of 8 activities (Activities A through H). All relationships are standard Finish-to-Start (FS = 0).
Given Activity Data Table
| Activity ID | Activity Description | Duration ($D$) | Immediate Predecessors |
|---|---|---|---|
| A | De-inventory & Steam Clean Vessel | 4 Days | None (Project Start) |
| B | Remove Internal Trays & Packing | 6 Days | A |
| C | Weld Overlay Shell Repair | 5 Days | A |
| D | Hydro-blast Heat Exchanger Tubes | 3 Days | B |
| E | Install New Distillation Trays | 7 Days | B, C |
| F | Torque Flanges & Install Gaskets | 4 Days | D |
| G | Reinstall Pipe Spools & Valves | 3 Days | E |
| H | Final Nitrogen Leak Test | 2 Days | F, G |
Step-by-Step Forward Pass Walkthrough (0-Based)
-
Activity A (Start):
- No predecessors: $ES_A = 0$
- $EF_A = ES_A + D_A = 0 + 4 = 4$
-
Activity B:
- Predecessor is A: $ES_B = EF_A = 4$
- $EF_B = ES_B + D_B = 4 + 6 = 10$
-
Activity C:
- Predecessor is A: $ES_C = EF_A = 4$
- $EF_C = ES_C + D_C = 4 + 5 = 9$
-
Activity D:
- Predecessor is B: $ES_D = EF_B = 10$
- $EF_D = ES_D + D_D = 10 + 3 = 13$
-
Activity E (Merge Point: Predecessors B and C):
- $ES_E = \max(EF_B, EF_C) = \max(10, 9) = 10$
- $EF_E = ES_E + D_E = 10 + 7 = 17$
-
Activity F:
- Predecessor is D: $ES_F = EF_D = 13$
- $EF_F = ES_F + D_F = 13 + 4 = 17$
-
Activity G:
- Predecessor is E: $ES_G = EF_E = 17$
- $EF_G = ES_G + D_G = 17 + 3 = 20$
-
Activity H (Merge Point: Predecessors F and G):
- $ES_H = \max(EF_F, EF_G) = \max(17, 20) = 20$
- $EF_H = ES_H + D_H = 20 + 2 = 22$
Minimum Project Duration = 22 Days.
Step-by-Step Backward Pass Walkthrough (0-Based)
-
Activity H (Terminal Activity):
- Set $LF_H = EF_H = 22$
- $LS_H = LF_H - D_H = 22 - 2 = 20$
-
Activity G:
- Successor is H: $LF_G = LS_H = 20$
- $LS_G = LF_G - D_G = 20 - 3 = 17$
-
Activity F:
- Successor is H: $LF_F = LS_H = 20$
- $LS_F = LF_F - D_F = 20 - 4 = 16$
-
Activity E:
- Successor is G: $LF_E = LS_G = 17$
- $LS_E = LF_E - D_E = 17 - 7 = 10$
-
Activity D:
- Successor is F: $LF_D = LS_F = 16$
- $LS_D = LF_D - D_D = 16 - 3 = 13$
-
Activity B (Burst Point: Successors D and E):
- $LF_B = \min(LS_D, LS_E) = \min(13, 10) = 10$
- $LS_B = LF_B - D_B = 10 - 6 = 4$
-
Activity C:
- Successor is E: $LF_C = LS_E = 10$
- $LS_C = LF_C - D_C = 10 - 5 = 5$
-
Activity A (Burst Point: Successors B and C):
- $LF_A = \min(LS_B, LS_C) = \min(4, 5) = 4$
- $LS_A = LF_A - D_A = 4 - 4 = 0$
Master CPM Calculation Summary Table
| Act ID | Description | Duration ($D$) | Predecessors | ES | EF | LS | LF | Total Float ($TF$) | Critical? |
|---|---|---|---|---|---|---|---|---|---|
| A | Steam Clean Vessel | 4 | None | 0 | 4 | 0 | 4 | 0 | YES |
| B | Remove Trays | 6 | A | 4 | 10 | 4 | 10 | 0 | YES |
| C | Weld Overlay Repair | 5 | A | 4 | 9 | 5 | 10 | 1 | No |
| D | Hydro-blast Exchanger | 3 | B | 10 | 13 | 13 | 16 | 3 | No |
| E | Install Trays | 7 | B, C | 10 | 17 | 10 | 17 | 0 | YES |
| F | Torque Flanges | 4 | D | 13 | 17 | 16 | 20 | 3 | No |
| G | Reinstall Spools | 3 | E | 17 | 20 | 17 | 20 | 0 | YES |
| H | Nitrogen Leak Test | 2 | F, G | 20 | 22 | 20 | 22 | 0 | YES |
Network Path Duration Analysis
Let us trace all complete paths from Project Inception to Completion:
- Path 1: A -> B -> D -> F -> H = 4 + 6 + 3 + 4 + 2 = 19 Days
- Path 2: A -> B -> E -> G -> H = 4 + 6 + 7 + 3 + 2 = 22 Days (Longest Path = Critical Path)
- Path 3: A -> C -> E -> G -> H = 4 + 5 + 7 + 3 + 2 = 21 Days (Near-Critical Path, Total Float = 1)
7. 0-Based vs. 1-Based Timing Systems: Direct Comparison
To see how the 1-based calendar day system yields identical results, examine Activity E ($D = 7$):
- 0-Based: $ES_E = 10$, $EF_E = 10 + 7 = 17$. $LF_E = 17$, $LS_E = 17 - 7 = 10$. Float = $10 - 10 = 0$.
- 1-Based: $ES_E = 11$ (Morning of Day 11). $EF_E = 11 + 7 - 1 = 17$ (End of Day 17). $LF_E = 17$, $LS_E = 17 - 7 + 1 = 11$. Float = $11 - 11 = 0$.
Notice that both systems identify Day 17 as the completion point of Activity E and yield identical Total Float ($TF = 0$). Schedulers must simply maintain internal arithmetic consistency.
8. CCT Exam Watch: The Top 5 Calculation Traps
- The Merge Point Minimum Fallacy: The most pervasive blunder in CPM forward pass calculations is taking the minimum early finish date at a merge point. An activity cannot start until ALL its predecessors are finished. Always choose the MAXIMUM early finish: ES = max(EF of all predecessors).
- The Burst Point Maximum Fallacy: During the backward pass, novices mistakenly take the maximum late start at a burst point. To avoid delaying any downstream path, you must select the MINIMUM late start: LF = min(LS of all successors).
- Off-by-One Errors in 1-Based Systems: If an exam problem specifies that the project begins on Day 1, remember the formula: EF = ES + Duration - 1. Adding duration directly (ES + D) introduces a 1-day error that carries through the entire network.
- Neglecting Near-Critical Paths: In the worked example above, Path 3 has a duration of 21 days (just 1 day of float). If Activity C slips by 2 days, Path 3 becomes the new Critical Path (23 days), and the project is delayed.
- Assuming Float Belongs to a Single Activity: Total Float is a property of the path, not an individual activity. In Path 1, Activities D and F both show 3 days of float. If Activity D consumes 3 days of float, Activity F immediately has 0 float remaining.
In a CPM network forward pass calculated under the standard 0-based timing convention, Activity M has three immediate predecessors: Activity X (EF = 14), Activity Y (EF = 19), and Activity Z (EF = 16). Activity M has an estimated duration of 6 days. What are the Early Start (ES) and Early Finish (EF) of Activity M?
During the backward pass of a Critical Path Method network, Activity K is an immediate predecessor to two diverging activities: Activity P (Late Start = 24) and Activity Q (Late Start = 20). If Activity K has a duration of 5 days, what are the Late Finish (LF) and Late Start (LS) of Activity K under the 0-based convention?
A project network contains three distinct paths from start to finish: Path 1 has a total duration of 28 days, Path 2 has a total duration of 34 days, and Path 3 has a total duration of 31 days. Assuming no external calendar constraint dates are imposed, what is the minimum project duration, and what is the Total Float along Path 1?