Every driver follows the same rules with their own values of the parameters below. The rules come
from published models, plus some additions made for this simulator. Each section says which.
Car following IDM · Treiber, Hennecke and Helbing, 2000
Model chooses between three versions of the same law, which share all six parameters. The
Intelligent Driver Model, the original, picks each driver's acceleration from three things: their own speed,
the gap to the car ahead, and how fast they are closing on it. Every car applies it every time step: 0.1 s
unless Settings says otherwise.
acceleration = a · [ 1 − (v / v₀)δ − (s* / s)² ]
s* = s₀ + max(0, v·T + v·Δv / (2√(a·b)))
The first bracketed term is the urge to reach the desired speed v₀, which fades as v approaches it.
The second is the urge to keep a safe gap: s* is the gap the driver wants right now and s is the gap
they have. The wanted gap grows with speed (v·T) and with closing speed Δv, so a driver bearing
down on a slower car brakes, and brakes harder the faster they close.
- Desired speed v₀
- Speed on an empty road.
- Time gap T
- Following distance expressed as time; 1.5 s is a typical real value.
- Standstill gap s₀
- Gap kept when queuing.
- Acceleration a
- Maximum acceleration, and how quickly a driver responds in general.
- Comfortable braking b
- The deceleration drivers aim not to exceed; the model brakes harder when a gap closes too fast.
- Exponent δ
- How abruptly the urge to accelerate dies away near v₀. 4 is the usual value.
With identical drivers, traffic settles at the speed where the two urges balance for the gap
available, which is why density alone sets the cruising speed here. Whether a disturbance then dies
out or grows depends on the density and on a, b and T: when drivers respond sluggishly (small a) and
gaps are short, a line of cars amplifies each other's braking and a stop-and-go wave forms.
The max(0, …) in s* is not in the 2000 paper. It comes from the same authors' later textbook
(Treiber and Kesting, 2013), and stops a leader pulling away from shrinking the wanted gap below
s₀. Cars cannot reverse, and there is no reaction delay. A lane of mixed drivers settles at the
one speed they can all hold, each at their own gap.
- IDM+ (Schakel, van Arem and Netten, 2010), the default
-
Takes the smaller of the two bracketed terms where the IDM adds them, so a driver is held back by
their desired speed or by the car ahead, whichever binds, not both at once. The steady gap is then
exactly s₀ + v·T. Under the IDM it is longer, much longer near v₀, which is why IDM traffic of the
same density runs slower and carries less.
- Improved IDM (Treiber and Kesting, 2013)
-
Reaches the same steady gap with a smooth formula in place of the sharp switch, and has a driver
who is above their desired speed slow gently, never harder than b, where the other two brake
unrealistically hard.
Unsteadiness Treiber and Kesting, 2018
- Speed noise
-
No real driver holds a speed exactly. Each step every driver's speed is nudged up or down at random,
by an amount whose variance is this value times the length of the step, so the size of the wobble
does not depend on the step. It is what lets jams start by themselves in busy traffic. The paper
fits values of 0.2 to 0.3 m²/s³ to real platoons. The wobble is fixed by the seed, so a run repeats
exactly. At 0 the model is the original, perfectly steady one.
Vehicle Not part of either model
- Length
- Gaps are measured to the back of the vehicle ahead, so a long lorry takes up more road.
- Hardest braking
-
The IDM puts no limit on braking and can ask for more than tyres can give. No driver here brakes
harder than this; 9 m/s² is about the most a car manages on a dry road.
Lane changing MOBIL · Kesting, Treiber and Helbing, 2007
MOBIL stands for "minimising overall braking induced by lane changes". A driver asks what
acceleration the IDM would give them in the lane beside them. A change is safe if the car
they would pull in front of would not have to brake harder than bsafe. It is
worth it if their own gain, plus the politeness share p of what the car behind them in the
outer of the two lanes loses, exceeds the threshold Δa. That is the paper's form for keep-left
roads: the overtaking lane has priority, so the follower there is the one considered.
- Politeness p
- Weight on the braking a change forces on others. 0 is selfish; 1 counts their loss as much as the driver's own gain.
- Threshold Δa
- Net gain a change must deliver before it is made; it stops cars flipping between lanes for nothing.
- Keep-left bias
-
The paper's rule for keep-left roads: the threshold is raised by this for moving out and lowered by
it for moving back in, so cars drift back to the inside lane when they can. At 0, drivers have no
preference between lanes.
- Safe braking bsafe
-
Hardest braking a change may force on the new follower. The default, 2 m/s², is the value in the
authors' book; the MOBIL paper's table has 4.
One difference from the paper: the safe-braking limit also applies to the driver changing lane,
which the paper suggests in a footnote and other simulators do.
Undertaking From the MOBIL paper, softened here
Undertaking is passing a slower vehicle on the inside. The MOBIL paper adds a rule against it for
European roads: a driver who is faster than the car ahead in the lane outside them holds back,
unless traffic there is congested.
- Prevent undertaking
- Turns the rule on or off. Off, with the keep-left bias at 0, gives a road where passing on either side is allowed.
- Release speed
-
Once the lane outside is slower than this, it counts as congested and passing on the inside is
allowed. The paper uses 60 km/h, which is 16.7 m/s ().
Changed from the paper in four ways. The paper reacts to the one car ahead in the outer lane; here
the driver judges that lane by the average speed of the next three cars, so one car braking is not
mistaken for the lane slowing. The paper has the driver follow that car as if it were in their own
lane, at a full gap; here they slow only as much as it takes to be down to the outer lane's speed
on drawing level with it, so a driver a shade faster barely eases off. Following at a full gap had
drivers on three lanes braking firmly about eight times a minute. The paper sets no limit on how
hard the driver brakes; here it is their comfortable braking b. And a car closer ahead than the
standstill gap s₀ is ignored, since the driver is already alongside it. Other simulators soften
the rule in their own ways, or leave it out, as does the authors' book. This form is ours.
Lane-change extras Not in the MOBIL paper
None of these is in the MOBIL paper, but most have precedents in other simulators or in the
authors' book (Treiber and Kesting, 2nd edition). Impatience and ordinary cooperation are off by
default: the book loosens the rules and has other drivers make room only for forced merges, such as a
lane ending, which this road does not have. With them on, drivers change lane two to three times as
often as real ones, and stop-and-go waves stop forming. Congested cooperation is on: without it a car
stuck in a jam can never move into a lane flowing beside it, so a jam traps one lane while the others
flow, which real congested traffic does not do.
- Impatience time τ
-
At 0, the default, drivers are never impatient. Published MOBIL has no memory, and a driver stuck beside fast traffic would wait for ever. Here a
driver who would gain from a change but is held back grows impatient: over τ seconds their
politeness and threshold fade to nothing and the braking they will impose on others doubles,
then keeps growing to at most three times bsafe. The SUMO simulator has a similar
impatience that grows with waiting time, at junctions.
- Cooperation
-
At 0, the default, nobody makes room in moving traffic. Above it, a driver who sees a held-back car wanting in ahead of them eases off as if it were already there,
braking no harder than this share of bsafe. This is a variant of the gap creation in the
LMRS model (Schakel, Knoop and van Arem, 2012).
- Congested cooperation and congestion speed
-
The same share, used instead when the held-back car is crawling below the congestion speed, as when
it is stuck in a jam. The default, 1, lets drivers brake up to bsafe to let it in, as
LMRS lets a cooperating driver brake up to their comfortable braking, and as LMRS makes room only for
a driver who badly needs it. The congestion speed, 16.7 m/s (60 km/h), is the speed below which the
undertaking rule also treats traffic as congested. At 0 nobody makes room, and a car in a stopped lane
can only get out once the traffic beside it has slowed on its own: jams then stay in one lane.
- Relaxation time
-
A lane change often leaves the driver, or the one they pulled in front of, closer than they would
choose. Real drivers accept that for a while. Here such a driver takes the time gap they find
themselves with, down to half their usual T, and eases back to T over about this long, in place of
braking at once to restore it. With 0 they brake at once, which makes traffic far more prone to
jam. The idea is from the LMRS model and from Keane and Gao; this form is ours.
- Decision interval
- How often a driver reconsiders changing lane. Drivers take turns, so they do not all decide at the same instant. LMRS also uses 0.5 s; MOBIL decides every time step.
- Cooldown
-
How long a driver stays put after a lane change before considering another. The drivers behind in
the lanes they left and entered, who saw the change happen in front of them, also wait, for a
quarter as long. Both waits, and the 4 s, are from the MOBIL authors' book; without the second,
drivers swap lanes back and forth.
- Merge gap
- Smallest gap, ahead and behind, that a driver will move into, however safe the IDM says it is. The MOBIL authors' MovSim simulator uses 2 m.
Two further rules have no parameter: a car you have braked does not consider a lane change until
it is released, and when two cars want the same gap the one further ahead takes it.
When drivers differ, a change is judged by the changer's own values of these parameters, and each
affected driver's response by that driver's own IDM values; a driver making room uses their own
cooperation.