Part 1 of 2
Network Analysis — CPM
Last reviewed 16 Sept 2026 · 8 min read
Critical Path Method (CPM)
CPM was developed in the late 1950s (by DuPont with Remington Rand) for planning and scheduling projects with deterministic (known) activity durations. It is activity-oriented and widely used in construction, where durations can be estimated from experience; it also forms the basis of time–cost trade-off (crashing).
Network terminology
| Term | Meaning |
|---|---|
| Activity | A task consuming time and resources (shown by an arrow in AOA) |
| Event (node) | The start or completion of activities — a point in time, consumes no time or resources |
| Dummy activity | Fictitious activity of zero duration and no resources, drawn as a dashed arrow — used to show logical dependency or to give unique identification to parallel activities |
| Predecessor / successor | Activities immediately before / after an activity |
| Burst event | An event from which more than one activity starts |
| Merge event | An event at which more than one activity ends |
| Duration | Time estimated for an activity |
| Critical path | The longest path through the network; determines project duration |
Types of network diagrams
Activity on arrow (AOA)
- Activities on arrows, events as nodes (circles); activity identified by — tail and head events.
- Needs dummies for correct logic.
Activity on node (AON) / precedence diagram
- Activities in nodes (boxes); arrows show dependencies only.
- No dummies needed; easier to draw and modify; used by most software.
- Allows relationships FS, SS, FF, SF with lags/leads.
Rules for drawing AOA networks
- Each activity is represented by one arrow only.
- No two activities may have the same tail and head events — use a dummy.
- There should be one initial and one final event (in a basic network).
- Arrows flow from left to right; no looping (circular logic).
- No dangling — every activity except the last must have a successor, and every event except the first must have a predecessor.
- Avoid redundant dependencies.
- The length of the arrow has no significance (not to scale).
Fulkerson's rule for numbering events
- Number the initial event 1.
- Delete all arrows emerging from numbered events; this creates new initial events — number them 2, 3, …
- Repeat until the final event is numbered.
Result: for every activity , (head number greater than tail number).
Common errors
- Looping (cycling) — endless loop of activities.
- Dangling — an activity disconnected from the end event.
- Redundancy — unnecessary dummy or link where dependency is already implied.
Time computations
Forward pass — earliest event time:
Backward pass — latest event time:
Event slack
- Earliest start ; earliest finish
- Latest finish ; latest start
Floats
Total float
The maximum time an activity can be delayed without delaying the project.
Free float
Time an activity can be delayed without delaying the earliest start of any succeeding activity.
Independent float
Delay possible when predecessors finish as late as possible and successors start as early as possible (if negative, taken as zero).
Interfering float head event slack
- Relationship: .
- Critical activities have zero total float (when the project's scheduled completion equals its earliest completion). Negative float indicates the schedule cannot meet a target date.
- The critical path joins critical activities from start to end; there may be more than one critical path.
Worked example 1 — AOA network
| Activity | (i–j) | Duration (days) | Predecessor |
|---|---|---|---|
| A | 1–2 | 3 | — |
| B | 2–3 | 4 | A |
| C | 2–4 | 2 | A |
| D | 3–5 | 5 | B |
| E | 4–5 | 3 | C |
| F | 5–6 | 2 | D, E |
Forward pass: ; ; ; ; ;
Backward pass: ; ; ; ; ;
| Activity | t | EST | EFT | LST | LFT | TF | FF | IF |
|---|---|---|---|---|---|---|---|---|
| A | 3 | 0 | 3 | 0 | 3 | 0 | 0 | 0 |
| B | 4 | 3 | 7 | 3 | 7 | 0 | 0 | 0 |
| C | 2 | 3 | 5 | 7 | 9 | 4 | 0 | 0 |
| D | 5 | 7 | 12 | 7 | 12 | 0 | 0 | 0 |
| E | 3 | 5 | 8 | 9 | 12 | 4 | 4 | 0 |
| F | 2 | 12 | 14 | 12 | 14 | 0 | 0 | 0 |
Check for C: ; interfering float (slack of event 4). For E: ; .
Critical path: A–B–D–F; project duration = 14 days.
Worked example 2 — using a dummy
Activities: A and B start the project; C depends on A; D depends on both A and B.
Solution (AOA). Draw A (1–2) and B (1–3). C starts from node 2. D must follow both A and B: draw D from node 3 and add a dummy from node 2 to node 3 (so D waits for A), while C remains dependent only on A. Without the dummy, C would wrongly depend on B, or D would not depend on A.
Precedence diagram relationships (AON)
| Relationship | Meaning |
|---|---|
| Finish-to-start (FS) | Successor starts after predecessor finishes (most common) |
| Start-to-start (SS) | Successor starts after predecessor starts (with lag) — e.g. plastering starts 3 days after brickwork starts |
| Finish-to-finish (FF) | Successor finishes after predecessor finishes |
| Start-to-finish (SF) | Successor finishes after predecessor starts (rare) |
| Lag / lead | Waiting time (e.g. curing) / overlap |
AON node boxes typically show ES, EF, LS, LF, duration and total float.
Advantages of CPM
- Shows interdependencies; identifies critical activities needing close control.
- Computes floats — flexibility for resource allocation.
- Basis for crashing, resource levelling, cost control and updating.
- Effect of delays on the project can be analysed.
Frequently tested points
- CPM: deterministic durations, activity-oriented, used for time–cost trade-off; PERT: probabilistic, event-oriented.
- Dummy: zero time, zero resources, dashed arrow — logic or unique identification.
- Fulkerson's rule numbers events so that for every activity.
- Errors: looping, dangling, redundancy.
- ; .
- TF = L_j − E_i − t; FF = E_j − E_i − t; IF = E_j − L_i − t; interfering float = TF − FF = head slack.
- IF ≤ FF ≤ TF; critical activities TF = 0; critical path = longest path; may be several.
- AON needs no dummies; FS, SS, FF, SF relationships with lags.
- Taking the minimum instead of the maximum at merge events in the forward pass (and vice versa in the backward pass).
- Calling the shortest path the critical path.
- Assuming free float equals total float for every activity.
- CPM is a deterministic, activity-oriented network technique identifying the critical path and floats.
- Networks may be activity-on-arrow (with dummies and Fulkerson numbering) or activity-on-node (precedence diagrams).
- Forward and backward passes give earliest and latest event and activity times.
- Total, free, independent and interfering floats measure scheduling flexibility; critical activities have zero total float.
- Precedence relationships (FS, SS, FF, SF) with lags model real construction logic.