Critical Path Analysis
Revise Critical Path Analysis for Further Decision Mathematics 1 WDM11 (AS Level) — revision notes and instant AI marking. Free to start.
Critical Path Analysis
The big idea: every project is a network of jobs that depend on each other — CPA is just a systematic way of figuring out the fastest possible finish time, which jobs you absolutely cannot delay, and how to use your workers as efficiently as possible.
Summary — the whole chapter in one scroll
- Activity networks turn a list of jobs (a precedence table) into a directed graph: nodes = events ("stepping stones"), arrows = activities with a duration.
- Dummy activities (dotted, zero-duration, no letter) exist purely to fix the logic of the diagram — either giving an activity a unique start/end pair, or showing a "split" in what depends on what.
- Forward pass through the network gives earliest event times — the fastest a project can reach each stepping stone. The final one is the minimum project duration.
- Backward pass gives latest event times — the latest you can leave each stepping stone without delaying the whole project.
- Total float = wiggle room an activity has. Zero float = critical activity. The chain of critical activities from start to finish = critical path.
- Gantt (cascade) charts turn all this into a visual timeline — critical activities stacked back-to-back on one row, non-critical ones shown with a dotted "float" tail.
- Resource histograms stack up how many workers are needed on each day, built from a Gantt chart.
- Resource levelling = shifting non-critical activities within their float to smooth out (minimise) the number of workers needed on the busiest days.
- Scheduling = the reverse problem — given the workers, how do you assign them to activities (one worker, one job at a time) to hit either the minimum project time, or fit inside a worker limit?
1. Activity Networks & Precedence Tables
What is an activity network?
Imagine you're building a house. You can't put up the walls before the foundations are laid, but you can fit the windows and doors at the same time as each other. An activity network is a graph that captures exactly this kind of "what must happen before what" logic for an entire project.
It has two parts:
- Arcs (the arrows) represent the activities — the actual jobs. Each arc is labelled with a capital letter (A, B, C...) and its duration in brackets, e.g.
D (6)means "activity D takes 6 days". - Nodes (the circles) represent events — think of them as "stepping stones". You cannot move past a stepping stone until every activity leading into it has finished.
Because activities can only flow one way (you can't un-lay foundations), this is technically a directed graph — every arc has an arrowhead showing the direction of progress, generally left to right.
The very first event (before anything has happened) is the source node, labelled 0 or S.
The very last event (once everything is done) is the sink node — the highest-numbered node, or labelled T.
Event 4 can't be reached until both D and E are finished — that's the "stepping stone" rule in action.
What is a precedence table?
A precedence table is the "ingredients list" version of the network. For every activity, it states which activities must have already finished before this one can start. Crucially, it only lists the immediately preceding activities — not every single activity that came before in the whole chain.
- An activity with no preceding activities is marked with a dash
'–'— it can start right at the source node, on day 0. - A precedence table might also give the duration of each activity and the number of workers it needs.
2. For every other activity, find the event where all of its immediate predecessors finish, and draw the new arc from there.
3. Every activity must have a unique start/end node pair.
4. Any activity that nothing else depends on flows into the sink node.
A precedence table has: A(–), B(–), C(A), D(A). Explain why activities C and D cannot both be drawn as separate arcs starting and ending at the same pair of nodes.
Construct a precedence table from this description: Activity A has no predecessors and takes 3 days. Activity B has no predecessors and takes 5 days. Activity C needs A finished first and takes 2 days. Activity D needs both B and C finished first and takes 4 days.
2. Dummy Activities
A dummy activity is a "fake" activity with a weight of zero — it takes no time and isn't given a letter. On the diagram it's drawn as a dotted arrow. Its whole job is to fix logic problems in the network that can't be fixed any other way. There are exactly two situations where you need one.
Situation 1: Two activities would share the same start/end pair
Suppose both B and C depend on A, and D depends on both B and C. If you just draw B and C as two separate arcs from the same start node to the same end node, they'd have an identical node pair — not allowed! A dummy activity splits them apart: B gets its own end node, and a dotted dummy connects that node to where C ends, preserving the "D depends on both" logic without giving B and C the same pair.
Situation 2: A "split" in predecessors
Suppose D depends on both B and C, but E depends on only B. If B and C both flow into one event, E would incorrectly appear to depend on C too. A dummy lets you draw B leading to its own event (where E can branch off, unaffected by C), while a dotted dummy carries B's "completion signal" onward to join C at the event where D starts.
Trigger 2 — "Split": one activity depends on a set of predecessors, but another activity only depends on part of that same set.
Activity G depends on C and F. Activity H depends only on F. Explain, in your own words, why this forces the use of a dummy activity, and describe (without drawing) how it would be used.
3. Critical Path Analysis: Earliest, Latest, Float & the Critical Path
What is CPA actually finding?
Critical Path Analysis uses the completed activity network to answer three big questions about a project:
- What's the minimum possible duration of the whole project?
- Which activities are critical — meaning they must start and finish exactly on time, with zero room to slip, or the whole project gets delayed?
- For every other activity, how much can it be delayed (its total float) without affecting the finish date?
Each node on a fully-worked network ends up with two boxes: the top one is the early event time, the bottom one is the late event time.
Earliest event times — the "forward pass"
Think of the early event time as: "what's the earliest moment this stepping stone can possibly be reached?" Start at the source node with time 0. Then work forward through the network. For every event, look at every arc leading into it — for each one, take (early time at its start node) + (its duration). The early event time of the new node is the maximum of all these — because you can't move on until every incoming activity has finished, including the slowest one.
Latest event times — the "backward pass"
Now flip the logic. The late event time asks: "what's the latest moment I can leave this stepping stone and still finish the whole project on time?" Start at the sink node — its late time equals its early time (this is the minimum project duration). Then work backwards. For every event, look at every arc leaving it — for each one, take (late time at its end node) − (its duration). The late event time of this node is the minimum of all these results, because the earliest deadline among all the activities leaving this node is the one that actually constrains you.
Backward pass: SUBTRACT going backward, take the MIN (because the tightest deadline wins).
Total float — how much slack does an activity have?
The total float of an activity is how much its start can be delayed without pushing back the whole project. It compares the "room available" (from the late time at its end down to the early time at its start) against the time the activity actually needs.
Formally you might see this written as F(i,j) = lj − ei − duration(i,j), where ei is the early time of event i and lj is the late time of event j. Don't let the notation scare you — it's the exact same formula above, just in symbols.
Critical activities & the critical path
A critical activity is simply one whose total float is zero — there's no room to delay it at all. A critical event is a node where the early time equals the late time.
Here's a subtlety worth remembering: if an activity is critical, its start and end events must both be critical events. But the reverse isn't automatically true — you can have a non-critical activity sitting between two critical events! So always double-check float = 0, don't just eyeball matching top/bottom numbers.
The critical path is the unbroken chain of critical activities running from the source node all the way to the sink node. There can sometimes be more than one critical path through a network.
A – C – G – I, or using node
numbers, e.g. 0 – 2 – 4 – 5 – 8.Critical activities (a list): written with commas, e.g.
A, C, G, I.These look similar but examiners want them presented in these different formats!
An activity X starts at a node with early time 5 and has duration 7. Its end node currently shows a provisional early time of 10 from another incoming arc. What should the early time at the end node actually be, and why?
Activity Y runs from a node with early time 4 to a node with late time 19, and Y has duration 6. Find the total float of Y, and state whether Y is critical.
4. Gantt (Cascade) Charts
A Gantt chart (also called a cascade chart) turns all your early/late time and float calculations into a single visual timeline. It's essentially the "picture" version of everything you worked out in the previous section.
How to draw one
- Draw a horizontal time axis along the top.
- Every activity is assumed to start at its earliest event time, and runs as a single unbroken block (no pausing halfway through!).
- Critical activities all sit on one shared row, drawn back-to-back with zero gaps — because they have zero float, there's no slack between them.
- Non-critical activities each get their own row: a solid bar showing the activity itself, followed immediately by a dotted bar showing its total float — the "room to slide".
- Bars are labelled with the activity letter and duration. Floats themselves aren't separately labelled.
An activity has early event time 7, duration 4, and total float 3. Describe exactly how its bar would be drawn on a Gantt chart.
5. Resource Histograms
A resource histogram shows, day by day, exactly how many workers (or machines, or any "resource") are needed to run the project. It's built directly from a Gantt chart, and it's the tool that reveals whether your project has an unmanageable spike in staffing needs on a particular day.
Three starting assumptions
- Every activity begins at its earliest event time.
- A worker can only do one activity at a time.
- Once an activity starts, it must run straight through to completion — no stopping and resuming later.
How to draw one
- Horizontal axis = time (treated as discrete days — day 1 is labelled under the first column).
- Vertical axis = number of workers.
- For each day, stack a box per worker, labelled with the activity they're on.
- Stack critical activities at the bottom, then other activities in alphabetical order above them.
Activity A (2 workers) runs days 0–5. Activity B (1 worker) runs days 0–4, with float allowing it to slide to 1–5. Activity C (3 workers) runs days 5–12. How many workers total are needed on day 5?
6. Resource Levelling
Most projects have "busy" days needing lots of workers and "quiet" days needing few. Resource levelling is the process of shifting the start times of non-critical activities (using their float) to smooth this out — spreading workers more evenly, or keeping the maximum workers per day under some limit.
Two flavours of problem
- Type 1: Minimise the number of workers needed at any point, while keeping the critical time completely unchanged. Critical activities cannot move — only non-critical ones, and only within their float.
- Type 2: There's a hard limit on workers available. If needed, even critical activities can be delayed — but the goal is to delay the project's finish time by as little as possible.
2. Find a non-critical activity active that day whose start can be delayed (using its float) without pushing its end past its late event time.
3. Delay it — check for "knock-on" effects on any activities that depend on it (they may also need delaying, again within their own float).
4. Repeat until the peak is reduced as far as possible.
Lower bound for the number of workers
If every activity only needs one worker (or one team), you can calculate the theoretical minimum number of workers needed to finish in the minimum project duration — it's the smallest whole number that's big enough to cover all the work if it were spread perfectly evenly.
→ round UP to the next whole number. Note: it's not always possible to actually achieve this bound in practice!
Total activity time across a project = 51 days. Minimum project duration = 23 days. Find the lower bound for the number of workers.
7. Scheduling Activities
Scheduling is the flip side of resource levelling: instead of asking "how many workers do I roughly need?", you're actually assigning named workers to specific activities, one at a time, and checking whether the plan actually works out.
The rules of the game
- Each activity needs exactly one worker (or one team, treated as one resource).
- An activity gets assigned the first available worker.
- If a worker has a choice of activities to start, they should pick the one with the lower late end time — i.e. the more urgent one.
- A worker can only be on one activity at a time, and once started, an activity must run to completion.
Type 1: Minimum workers, no delay allowed
Since the critical time can't change, all critical activities go to one worker, back-to-back (this mirrors the critical row on the Gantt chart). Then, for every non-critical activity, imagine its bar "sliding" within its float window and try to pack these activities into as few extra rows as possible — placing them back-to-back wherever they can immediately follow one another. Each resulting row = one worker.
Type 2: Fixed worker limit — find the new minimum time
Here the constraint flips: you're told the maximum number of workers available, and you need to find how long the project will now take. Take your best schedule from Type 1, then look for the row(s) that would exceed the limit — delay activities (respecting precedence!) until the schedule fits within the row limit, and read off the new, longer finishing time.
The critical activities of a project are A, C, G, I (total 23 days). A separate non-critical chain B→D→E also fits neatly into that same 23-day window on its own row. If a third non-critical activity F also needs scheduling and can't fit on either existing row without overlap, what does this tell you about the minimum number of workers required?
What to Memorise
| Term / Formula | Meaning |
|---|---|
| Source node / Sink node | The very first event (0 or S) / the very last event (highest number or T) |
| Dummy activity | Zero-duration, unlettered, dotted arc — used to fix "same pair" or "split predecessor" logic problems |
| Early event time = MAX[ei + duration] | Forward pass: earliest a stepping stone can be reached, taking the max over all incoming arcs |
| Late event time = MIN[lj − duration] | Backward pass: latest a stepping stone can be left, taking the min over all outgoing arcs |
| Total float = lj − ei − duration | Room an activity has to be delayed without pushing back the whole project |
| Critical activity | Total float = 0 |
| Critical path | The unbroken chain of critical activities from source to sink (there may be more than one!) |
| Minimum project duration | The early event time (= late event time) at the sink node |
| Lower bound (workers) ≥ total activity time ÷ min. duration | Round up to nearest whole number; may not always be achievable |
Concepts Checklist
Exam Tips & Common Mistakes
- 1. Activity Networks & Precedence Tables
- 3. Critical Path Analysis: Earliest, Latest, Float & the Critical Path
- Exam Tips & Common Mistakes
- Critical activities & the critical path
Read the full Critical Path Analysis notes free
That's the preview — create a free account to read the rest, plus flashcards and practice questions with instant AI marking. No credit card.
Unlock the full notes free →