Test 17: Route choice based on geometric layout
PASS1. Definition
A two-floor structure joins a start area and a target area by two flights of stairs plus a corridor on the ground floor, and by a longer corridor on the upper floor. One occupant starts in the start area and is assigned to the target. The tester reports whether the route was specified by the user or came from the model’s default route-choice algorithm. Models that handle groups in aggregate may run more than one occupant.
Source: ISO 20414:2020, Test 17, Table 19, pp. 28-29, Fig. 13. This is a paraphrase, not the text of the standard.
Reference: ISO (2020). ISO 20414:2020, Fire safety engineering - Verification and validation protocol for building fire evacuation models. First edition. International Organization for Standardization, Geneva. https://www.iso.org/standard/78348.html (Page numbers are the printed page numbers of ISO 20414:2020 (the copy read is a proof, so numbers can differ by a page in the published edition). ISO states that its tests are examples and that a tester may use different tests that verify the same component equivalently.)
2. Scenario

Scenario figure from the executed notebook.
3. What to expect
The occupant takes the short path through the lower floor or the longer path on the upper floor, and the path matches the route-choice algorithm of the model. ISO calls the test a qualitative check of the adopted behaviour.
Our criterion: Agents prefer the geometrically shorter route
4. Our result
Status: PASS
Test cases of this row
| Case | Status | Result | Run |
|---|---|---|---|
test_ | PASS | shortcut_fraction = 1 fraction accepted ≥ 0.5 fraction | n = 10 · seed 42 |
test_: bound: measured > 0.5 (share of agents entering the stair shortcut); geometry: shortcut route shorter than long wayagents_ prefer_ shorter_ route

Result figure from the executed notebook.
5. Our implementation
Deviations from the standard:
- Both floors are flattened into one 2D polygon. The stairs are strips with a speed factor of 0.5, and the lower corridor is drawn as a separate strip offset below the upper ring.
- Ten agents at 1.2 m/s are run instead of one. Route choice is left to the model’s default shortest-path routing.
- The pass rule is the suite’s own: the shortcut must be shorter than the long way on the suite’s rough plan-view length estimates (which leave out the vertical offset of the lower corridor), and more than half of the ten agents must take it. An agent counts as taking the shortcut if it enters a stair strip.
- The scenario is built in code (standards/iso/scenario_builders/iso17_route_choice.py) rather than loaded from a scenario file. One seed (42) is run.
Model: CollisionFreeSpeedModel
- Test function: tests/vv/test_iso.py::test_agents_prefer_shorter_route