Module 1, lesson 5 · 60 minutes
Bottlenecks, capacity and queues
When more people arrive at a narrowing than it can pass, the difference becomes a queue, and the queue is paid for in density.
You’ll be able to
- compute a bottleneck’s capacity and predict how fast a queue grows and drains;
- read cumulative arrival and departure curves for queue length, delay and total delay;
- explain why density upstream of a saturated bottleneck climbs towards jam density, and what capacity drop means.
Introduction
A concert has ended and people are walking towards a 2.5 m gap in a line of barriers, 220 of them every minute. The gap can pass about 184 a minute. Nothing dramatic happens. Nobody pushes, nobody falls, and the people at the front walk through at a steady pace.
But every minute, 36 more people join the back of the crowd in front of the gap than leave through it. After 20 minutes there are about 720 people waiting who would not have been there if the gap were wide enough. They are standing closer together than anyone chose to, on the approach where the barriers funnel in. Nobody did anything wrong; the arithmetic did it.
This lesson is about that arithmetic, and about the second, less obvious price: what the queue does to density.
The capacity of a bottleneck
μ = Jₛ,max × b
- μ
- capacity, p/s (× 60 for p/min)
- Jₛ,max
- peak specific flow, p/m/s
- b
- width of the bottleneck, m
With Weidmann’s peak of 1.23 p/m/s
Experiments put real bottlenecks higher. Seyfried and colleagues measured 1.61–2.31 p/m/s through gaps 0.8–1.2 m wide, and fitted J ≈ 1.9·b across several datasets
Queues: arrivals minus capacity
Call the arrival rate λ (lambda) and the capacity μ (mu), both in people per minute. If λ is less than μ, everyone who arrives goes straight through and no lasting queue forms. If λ is greater than μ, the gap passes μ and the rest wait. The queue grows at the difference:
Q(t) = (λ − μ) · t dₙ = n/μ − n/λ
- Q(t)
- people queuing after time t
- λ
- arrival rate, p/min
- μ
- capacity, p/min
- dₙ
- delay of the nth arrival, min
The delay formula reads: the nth person arrives at n/λ but cannot leave before n/μ, because only μ people a minute get through. When arrivals stop, or fall below capacity, the queue drains at μ − λ.
Three things follow, and each surprises people the first time:
- A queue grows for as long as arrivals exceed capacity, however small the excess. A gap 10% too narrow does not make a 10% problem; it makes a queue that is still growing when the event ends.
- The queue keeps growing after the peak of arrivals has passed, right up to the moment arrivals fall below capacity. The longest queue comes late.
- The gap never passes more than its capacity. The people at the front see an orderly flow, whatever is happening at the back.
A gate passes 100 p/min. 150 p/min arrive for 20 minutes, then arrivals stop. How long is the queue at minute 20, and how long after arrivals stop does it clear? Who waits longest, and for how long?
The queue grows at 150 − 100 = 50 p/min, so after 20 minutes it holds 1,000 people. With no more arrivals it drains at 100 p/min, so it clears 10 minutes later, at minute 30. The last person to arrive (n = 3,000, at minute 20) waits longest: 3,000/100 − 3,000/150 = 30 − 20 = 10 minutes.
Reading cumulative curves
The cleanest way to see a queue is to draw two running totals against time.
- Vertical gap = queue length. At minute 20, 3,000 have arrived and 2,000 have left: 1,000 are waiting.
- Horizontal gap = delay. The 2,000th person arrives at minute 13.3 and leaves at minute 20, a wait of 6.7 minutes; the 3,000th arrives at 20 and leaves at 30.
- Area between = total delay. Here it is a triangle: half of 30 minutes × 1,000 people = 15,000 person-minutes, an average of 5 minutes for each of the 3,000.
These curves are the workhorse of queue and traffic analysis. You will meet them again in macroscopic models, in planning a marathon start and in the Queen’s lying-in-state queue, where they become Little’s law.
Watch a queue form
The interactive below is a 60 m corridor, 6 m wide, with a gap in a barrier halfway along. It uses Weidmann’s curve to decide how fast each metre of corridor can pass people to the next, so you can watch flow, queue and density interact in real time. Under the corridor are the cumulative curves and a trace of the density just upstream of the gap.
- Press Play with the defaults (150 p/min arriving at a 2.5 m gap that passes 184). Watch the queue stay at zero and the probe density stay low.
- Press “Set arrivals to 1.1 × capacity”. Watch the probe trace cross the peak-flow line within about two minutes, and the queue grow steadily. Does “passing the gap now” ever exceed the capacity?
- Let it run until the queue reaches the entrance. What happens to new arrivals?
- Reset, then halve the gap to 1.25 m with arrivals at the default. Read the queue and delay off the cumulative curves.
- With arrivals below capacity, press “Burst”. Watch a queue form and then drain at capacity minus arrivals.
Push arrivals just above capacity and the queue grows without limit, while the gap passes exactly its capacity and no more. The crowd pays in density: upstream, the queue settles on the congested side of the curve, above 4 p/m², so that its slow shuffle carries only the flow the gap allows.
A cell-transmission model: 1 m cells, half-second steps, with Weidmann’s fundamental diagram
The crowd pays in density
Here is the part that a pure queueing calculation hides. A queue of people is not stored in a box; it stands on the floor in front of the bottleneck. And the floor has to carry the bottleneck’s flow.
Take the 2.5 m gap in a 6 m corridor. When the gap is saturated it passes about 184 p/min, and that same flow has to reach it along the full 6 m width of the queue. Spread across 6 m, 184 p/min is only about 0.51 p/m/s. On the fundamental diagram, a specific flow of 0.51 can happen on the free-flow branch, at about 0.39 p/m², or on the congested branch, at about 4.3 p/m². A queue is by definition the congested one. So the crowd behind the gap packs to over 4 p/m², shuffling at about 0.12 m/s, while just past the gap people walk away at 1.3 m/s with more than 2.5 m² of floor each.
Two points make this worse in practice. First, a queue does not need arrivals above capacity to form. Seyfried and colleagues found that a jam can form at a bottleneck even when the inflow is below the capacity the fundamental diagram predicts
Keith Still: “In any high density crowded environment the areas of greatest risk are where the crowd change direction (corners) and/or change speed”
This is why crowd managers meter arrivals far upstream, with holding pens, phased release or closed approaches. It moves the waiting to a place with room for it, at a density people can tolerate. Widening the approach to a gap does not raise its capacity; it only gives the queue more floor at the same high density.
The 2.5 m gap is saturated and the queue behind it has stopped growing because arrivals have fallen to exactly capacity. Is the situation now safe? What would you measure?
Not necessarily. A queue that is not growing can still be dense: the people in it are on the congested branch, here above 4 p/m², near the moving-queue figure Still quotes and approaching the Green Guide’s standing maximum. What matters is the density in the queue and how long people are exposed to it. Measure density upstream of the gap (by camera or by eye, as in lesson 1), and reduce arrivals below capacity so the queue drains rather than merely holds.
- “A queue only forms when arrivals exceed capacity.” Bursts of arrivals form temporary queues, and experiments show jams forming at bottlenecks below nominal capacity
. - “Pushing from behind gets people through faster.” The gap’s capacity sets the flow. Under congestion, throughput can drop
; Module 6 returns to this in faster-is-slower. - “A wider approach helps a narrow gate.” It does not change the capacity. It lets more people stand in the queue at the same density.
- “The flow at the gate tells you the crowd is fine.” A saturated gap shows a calm, steady flow at its front however dense the queue behind it is.