๐Ÿ“˜ CodingMarble Learn

Critical Path Analysis

A big project is made of many activities. Some must wait for others. We draw them as an activity-on-node network. A forward pass gives each activity its earliest start; a backward pass gives its latest finish. Float = latest start โˆ’ earliest start tells how much an activity can slip. Activities with zero float form the critical path: the longest route, which fixes the shortest possible project time. A Gantt (cascade) chart turns the network into bars on a time line, and a resource histogram shows workers needed per day. Moving activities inside their float to smooth that histogram is resource levelling.

๐ŸŽฌ Step-by-step story

  1. A project is many small jobs. Each box is one job with its time in days. An arrow means 'finish this first'.
  2. Forward pass: go left to right. Each job starts as soon as all jobs before it are done. The last finish time is the project time: 13 days.
  3. Backward pass: go right to left from 13. Each job's latest finish is the smallest latest start of the jobs after it.
  4. Float = latest start โˆ’ earliest start. Jobs with float 0 turn red. They form the critical path A โ†’ C โ†’ E โ†’ G.
  5. Gantt chart: each job becomes a bar on a time line. The pale part is its float. Green bars below count workers needed each day.
  6. Try it: change how long job D takes. Watch the project time and the critical path change.

Tip: drag the 3D scene to turn it. Use two fingers to zoom.

๐Ÿค” Common doubts, cleared

Why do we use the biggest finish time in the forward pass?

A job cannot start until every job before it is done. The last one to finish decides the start, which is the biggest finish time.

Why the smallest value in the backward pass?

If a job finished later than the earliest-needed follower's latest start, that follower would be late. So we take the smallest.

How is float different for critical and non-critical jobs?

Critical jobs have 0 float (red in the scene). Non-critical jobs like B, D and F have 1 day of spare time.

What does the pale part of a Gantt bar mean?

It is the float: the job can slide that far to the right without delaying the project.

Can the critical path change?

Yes. Make D longer in the free play. Once its delay is more than its float, the path A โ†’ D โ†’ F โ†’ G becomes the longest.

Activity networks and precedence tables

A project is split into activities. Each has a duration (time it takes). A precedence table lists, for each activity, the activities that must finish first (its immediate predecessors).

In an activity-on-node network, each activity is a box (node). An arrow from A to C means C cannot start until A ends. Many networks also add a Start node and an End node.

Another style puts activities on the arrows (activity-on-arc) and may need dummy activities (dotted arrows, duration 0) to show some links correctly. The analysis is the same.

Example precedence table

A(3) and B(4) have no predecessors. C(2) and D(4) need A. E(6) needs B and C. F(3) needs D. G(2) needs E and F.

Early and late times: forward and backward pass

Forward pass (left to right): Earliest start ES of a start activity = 0. Earliest finish EF = ES + duration. For any other activity, ES = the largest EF of its predecessors. Why the largest? It has to wait for the slowest one.

The largest EF of all activities is the minimum project completion time.

Backward pass (right to left): Latest finish LF of a final activity = project time. Latest start LS = LF โˆ’ duration. For other activities, LF = the smallest LS of the activities that follow it. Why the smallest? It must not hold up the most urgent follower.

In our example: ES of E = max(EF of B = 4, EF of C = 5) = 5. LF of A = min(LS of C = 3, LS of D = 4) = 3.

Critical path and float

Total float = LS โˆ’ ES (= LF โˆ’ EF). It is how long an activity can be delayed without delaying the whole project.

An activity with total float 0 is critical. A chain of critical activities from start to end is the critical path. It is the longest path through the network, so its length is the project time. There can be more than one critical path.

Some courses also use independent float (how much an activity can slip without affecting any other activity even in the worst case) and interfering float = total float โˆ’ independent float.

Effect of changes to the model

If a critical activity takes 2 days longer, the project takes 2 days longer. If a non-critical activity takes longer by less than or equal to its float, nothing changes; by more than its float, the critical path changes. Shortening a critical activity can help only until another path becomes critical. In the scene, D has float 1, so D can rise from 4 to 5 days with no effect; at 6 days the project grows to 14.

Gantt charts, resource histograms and resource levelling

A Gantt (cascade) chart draws each activity as a bar on a time line, starting at its ES. Its float is shown as a pale or dotted extension. Critical activities have no extension.

A resource histogram shows how many workers (or machines) are needed in each time period. Add the workers of every activity running in that period.

Resource levelling: slide non-critical activities within their float so the histogram is flatter, or so it never goes above the number of workers you have. If you only have a fixed number of workers, you may need to extend the project. A lower bound for the number of workers is (total worker-days) รท (project time), rounded up.

Try it at home

Plan making tea and toast for your family: list the jobs (boil water, toast bread, butter, pour tea...), their times and what must come first. Draw the network and find the critical path. Can two people do it faster?

Key formulas and definitions

Worked examples

1. Activities: A(3), B(4) start; C(2) and D(4) need A; E(6) needs B and C; F(3) needs D; G(2) needs E and F. Find the earliest start of every activity and the project time.

A: ES 0, EF 3. B: ES 0, EF 4. C: ES 3, EF 5. D: ES 3, EF 7. E: ES = max(4, 5) = 5, EF 11. F: ES 7, EF 10. G: ES = max(11, 10) = 11, EF 13. Project time = 13 days.

2. For the same project, do the backward pass and find the latest start of each activity.

G: LF 13, LS 11. E: LF 11, LS 5. F: LF 11, LS 8. D: LF 8, LS 4. C: LF 5, LS 3. B: LF 5, LS 1. A: LF = min(3, 4) = 3, LS 0.

3. Find each activity's total float and the critical path.

Float = LS โˆ’ ES: A 0, B 1, C 0, D 1, E 0, F 1, G 0. Critical path: A โ†’ C โ†’ E โ†’ G (3 + 2 + 6 + 2 = 13 days).

4. D is delayed by 3 days (takes 7 days). What is the new project time?

D's float is 1, so 2 extra days spill over. New path A โ†’ D โ†’ F โ†’ G = 3 + 7 + 3 + 2 = 15 days. That is longer than A โ†’ C โ†’ E โ†’ G (13), so the project now takes 15 days and the critical path is A โ†’ D โ†’ F โ†’ G.

5. Workers: A 2, B 1, C 3, D 2, E 2, F 1, G 3. Using earliest starts, how many workers are needed on day 3 (the period 3 to 4)?

Running: B (0โ€“4), C (3โ€“5), D (3โ€“7). Workers = 1 + 3 + 2 = 6.

6. Find a lower bound for the number of workers needed to finish in 13 days.

Worker-days = 2ร—3 + 1ร—4 + 3ร—2 + 2ร—4 + 2ร—6 + 1ร—3 + 3ร—2 = 6 + 4 + 6 + 8 + 12 + 3 + 6 = 45. 45 รท 13 โ‰ˆ 3.46, so at least 4 workers.

Common mistakes

Practice quiz

1. In the forward pass, the earliest start of an activity with two predecessors finishing at 6 and 9 is:
2. Total float of an activity is:
3. The critical path is:
4. A critical activity is delayed by 2 days. The project is:
5. Moving activities within their float to smooth worker numbers is called:

Practice: answer these yourself

Type or choose your answer, then press Check. Use a hint if you are stuck; the full solution appears after you answer.

Frequently asked questions

What is critical path analysis?

A method for planning projects. It finds the shortest possible project time and the activities that cannot be delayed (the critical path).

How do you find the critical path?

Do a forward pass for earliest times, a backward pass for latest times, then find activities with zero total float. Join them from start to end.

What is a resource histogram used for?

It shows how many workers are needed in each time period, so you can spot peaks and level them by moving non-critical activities within their float.

Where this is taught

England (GCSE, A level)Year 12Optional application 3 Discrete (part 1)
England (GCSE, A level)Year 13Optional application 3 Discrete (part 2)

Learn first

Learn next

Related lessons

All Maths lessons