Operations ยท Simulator 078
Building a house takes nine tasks, and some cannot start until others finish. Change how long each task takes, or rewrite which tasks depend on which. The chart shows the earliest schedule, the critical path that sets the finish date, and how much each other task can slip.
The critical path method (CPM) makes two passes through the task network.
Forward pass: a task's earliest start ES is the latest earliest finish of the tasks it depends on; its earliest finish is EF = ES + duration. The project length is the largest EF.
Backward pass: starting from the project end, a task's latest finish LF is the smallest latest start of the tasks that depend on it; LS = LF โ duration.
slack (total float) = LS โ ES
Tasks with zero slack form the critical path: any delay to them delays the whole project. Tasks with slack can slip by that much without moving the finish date, but using up slack can make another path critical. Shortening a critical task helps only until another path becomes just as long.
Dependencies are written one task per line, for example F: C D E means F starts after C, D and E finish. A loop (A after B after A) has no valid schedule and is reported.
Durations are fixed and resources are unlimited: tasks run in parallel whenever their dependencies allow. Real schedules also face uncertainty (PERT) and shared crews (resource levelling).
The landscaper now insists on starting only after Painting is finished (change Landscaping's line to H: G, and Inspection keeps I: G H). What is the new project length, and which tasks are critical?
Landscaping now sits on the main chain: A 4 + B 6 + D 4 + F 5 + G 3 + H 4 + I 1 = 27 days. The critical path is Foundation โ Framing โ Plumbing โ Drywall โ Painting โ Landscaping โ Inspection; Roofing and Electrical still have 1 day of slack.