ODME Calibration Demo

Assignment result + observed counts → calibrated OD matrix STAGE 5 · FTT BACKWARD PASS · TOY NETWORK

1. The setup

Network

A B C link 1 link 2 link 3 (express)
nodes links (with sensors)

OD pairs & paths

A → B1 path · uses link 1
A → C (via B)uses link 1 + link 2
A → C (express)uses link 3
B → C1 path · uses link 2

Path-link matrix A (from assignment)

linkp1: A→Bp2: A→C·Bp3: A→C·expp4: B→C
link 11100
link 20101
link 30010

Initial OD prior T₀

ODT0
A → B100
A → C80
B → C50

A → C splits 60% via-B / 40% express (a route-choice proportion from a prior assignment).

2. The ODME problem

T (OD)
B (OD → path)
path flow f
A (path → link)
link flow v = ABT
backward: minimise ‖v − ŷ‖²
minT   ‖ABTŷ‖²   +   λ ‖TT0‖²

Observed counts ŷ

linkobserved ŷinitial v0 = ABT0gap
link 1150148+2
link 212098+22
link 34032+8

Counts say more traffic is moving than the prior OD predicts — especially on link 2. ODME will find a T that fits the counts without straying too far from T0.

Tuning

small λ → trust counts  ·  large λ → trust prior

Residual fit

counts
prior  

3. Calibrated OD T*

100
A→B
80
A→C
50
B→C

Calibrated link flows v* vs observations

linkv*ŷgap

OD change from prior

ODT0T*Δ

Verification

RMSE counts
‖T*−T₀‖

FTT tie-in: this is exactly the backward pass of the Flow-Through-Tensor. The same A matrix used here to assign T → v is also used (transposed) to push the count residual back into corrections on T. On a real network, this is the same loop, just with bigger tensors and more paths.