Decision records¶
Short notes on the choices that shaped PyTraf, with the reason for each.
| # | decision |
|---|---|
| 0001 | A zone is a node; no connectors |
| 0002 | Link-labelled shortest paths and an explicit turn table |
| 0003 | Gradient projection with a refresh after every path shift |
| 0004 | Multi-class model: PCE, extra costs, allowed links |
| 0005 | Python API conventions |
| 0006 | Frank-Wolfe stays a reference solver |
| 0007 | Parallel sweeps and the hot path |
| 0008 | Paths as a tree of steps, per origin |
| 0009 | GMNS input: zones span nodes, movements restrict listed links |
| 0010 | Time periods: unfinished trips preload the next period (superseded) |
| 0011 | Explicit preloads instead of carried-over trips |
| 0012 | Unreachable demand: an error by default, skipped on request |
| 0013 | A grouped result, checked options and network.assign |