Live physics simulations of UK motorway behaviour · Intelligent Driver Model + MOBIL
Reduced motion is on in your system settings; simulations start paused. Use Resume to run them.
A closed loop of traffic, every driver following the Intelligent Driver Model. Hit BRAKE to make one car slam on for 1.5 seconds, then watch the stop-and-go wave it creates travel backwards through traffic, long after the original car has driven off. At high density, waves form on their own; nobody has to do anything wrong.
The instrument traffic engineers actually use. Each car draws a horizontal trace through time, coloured by its speed. A phantom jam appears as a red band sloping down-left: the jam moving backwards along the road while time moves forward. On real motorways these waves roll rearward at roughly 10 to 12 mph.
Two lanes of heavy motorway traffic. The amber car weaves aggressively into whichever lane looks faster (MOBIL lane-change model, zero politeness). The white car starts beside it and holds its lane. Every forced merge makes the car behind brake, and that braking propagates. Watch who is actually ahead, and what the weaving does to everyone else.
Pure arithmetic first, then reality. Time saved is not linear: t = d ÷ v, so each extra 10 mph buys less than the last. The realism slider accounts for the share of the journey genuinely spent at cruise speed (junctions, roadworks and traffic apply equally to both runs). Fuel model is calibrated to the AA's published figures.
Two identical rings of dense traffic get an identical disturbance every 15 seconds. Lane A is signed at 70: drivers rush gaps, so each disturbance crystallises into a stop-and-go wave. Lane B is signed at 50: the smaller speed differences absorb the same disturbance. Watch which lane actually delivers more vehicle-miles.
A lane's maximum throughput is set almost entirely by the time gap drivers keep. Capacity ≈ 3600 ÷ (headway + car-length time). Tailgating raises theoretical capacity but destroys stability, which is exactly how phantom jams start; this is the trade the whole lab is about.
A synthetic motorway day (24h compressed into 144 seconds) with morning and evening peaks. The pipeline below is the real one used at scale: ingest live detector samples, match them against a stored historical pattern for that time of day, then predict ahead with a seasonal AR(2) model, the ARIMA family's working core. The forecaster and the clustering both run live in this page on the sim's own sensor feed; nothing is pre-baked.
Teal is the observed feed. The dashed grey line is the learned time-of-day pattern (48 half-hour bins, built from previous days). Amber is the live forecast: pattern plus an AR(2) model fitted to the residuals every two seconds, with a 95% band that widens with horizon. Trigger an incident and watch the observation fall out of the band, the regime chip flip to ANOMALY, and the forecast chase the new reality.
An arterial with four signalled junctions and cross traffic. Three controllers run in parallel on identical arrivals: a fixed 50/50 plan, an adaptive controller that re-splits green time each cycle from live queues, and a genetic algorithm that breeds whole timing plans (green split + offset per junction), scoring each chromosome by simulated total delay. Offsets matter because platoons take 32 seconds between junctions: the GA has to discover the green wave, nobody tells it one exists.
Population of 24 timing plans, tournament selection, blend crossover, gaussian mutation, two elites carried over. Each generation evaluates every chromosome with a full 6-minute headless simulation. Watch the best line fall below the fixed-plan baseline within a handful of generations, then plateau as the green wave locks in.
Junctions as nodes, road segments as edges, exactly how graph neural networks see a city. Traffic flows S→T over a motorway, an A-road and two cut-throughs, with route choice responding to live ETAs and real spillback between edges. Every second the page runs two rounds of neighbour message passing on the line graph, the core GNN operation: each edge updates its expectation from the state of the edges its traffic feeds into, because congestion physically propagates backwards along exactly those connections. The halo around each edge is that 15-second-ahead prediction; the inner line is live truth. Honesty note: the message-passing structure is real and the weights are hand-set; a production GNN learns them from millions of trajectories.
Route shares (logit on live ETA): –