Why a station can never "make up" for what was missed
In a dependent line, every station can only process what actually arrived from the station before it. If a station produces less on a given run, the next station can't make up the shortfall on its next run, since it is capped by its own capacity that run. Capacity that goes unused because there isn't enough material to process, on the other hand, is lost for good. It doesn't carry over to the next run.
That is a basic asymmetry: a surplus does not offset a shortfall. When every station in the line has this kind of variation, the effect repeats at every single station and compounds across the whole line.
Why balancing the line makes it worse
The intuitive way to manage a production line is to balance every station's average capacity, so no station "wastes" surplus capacity. But when every run carries uncertainty, balancing the line removes the safety margin that could have absorbed that variation. No station has spare capacity to compensate for a weak run upstream, so the impact of every negative fluctuation rolls forward down the line and shows up in the final throughput.
The result is actual throughput that is significantly lower than the theoretical throughput you'd expect if every station simply ran at its own average capacity, independent of the others.
How to use the simulation
Below is a line of 5 machines in series. Machine 1 has unlimited raw material waiting in front of it. Each click on "Run the Highlighted Machine" runs only the machine highlighted in blue. That machine rolls a die, and the result sets its capacity for that run only:
- Machine 1 always processes exactly the die roll, since its raw material is unlimited.
- Every other machine processes the minimum of the die roll and the units waiting in front of it.
- After machine 5, units move into Finished Goods.
- After every completed round (five runs), the round counter increases, and a bell rings every 10 rounds.
"Potential improvement %" and "Total capacity lost" at the bottom show how much throughput is lost to dependency and compounding variation, even though every machine is, on average, doing exactly what it's supposed to.