You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Auto: Pareto-front op reistijd en afstand, kosten achteraf met één km-prijs (0,24 euro) #88
minimise criterium slaat op de pareto opties (time of price). Dit geldt nu enkel voor OV. en eignelijk zou deze pareto afwegingen ook voor auto en fiets en evt ook lopen moeten kunnen gelden.
Stand van 24 september: voor de auto werkt de pareto-afweging nu. De directe autorit is een front per HB-paar op (reistijd, kosten) en doet zo mee naast de OV-ketens en de directe loop- en fietsritten.
Wat er gebouwd is
Advanced/ParetoLegs_Car (76c58b2): impedance_matrix_od64 met de pareto-optie. Het tweede criterium is niet de afstand maar de kosten per link: kilometerprijs per TomTom-wegklasse plus optrekkosten op kruispunten (eeb5c5b, cc725b1, 0af2a3d). De afstand weegt zo via de kilometerprijs mee; een apart afstandscriterium heb ik niet toegevoegd.
Optrekfactor 0 op snelweg en autoweg (b33d315) en tijd-equivalent op provinciale en secundaire wegen (18e9368). De kruispuntpenalty telt ook de aansluitingen die doorgaand verkeer passeert, waardoor elke omweg om een afrit een eigen frontlid werd.
Effect op een testset (535 buurten in de Kop van Noord-Holland naar 462 OV-knooppunten, ochtendspits): van 55,7 routes per HB-paar met de eerste kostenfactoren, via 23,0 en 19,0 na de aanpassing van de optrekfactoren, naar 4,2 met de epsilon. De snelste route per paar bleef in alle 78.717 paren gelijk; de epsilon bracht de rekentijd van 3 minuten naar 39 seconden.
Volledige set, vannacht gerekend (88.126 herkomsten in clusters van 500 m naar 462 OV-knooppunten, MaxCarTime 90 min, GeoDMS 20.21 met #1282):
moment
HB-paren
frontrijen
routes per paar (gem / p90 / max)
rekentijd
piek commit
store
MorningRush
12,95 M
55,6 M
4,3 / 9 / 53
194 min
5,1 GB
0,9 GB
NoonRush
15,68 M
68,8 M
4,4 / 9 / 53
263 min
5,3 GB
1,1 GB
LateEveningRush
16,78 M
77,1 M
4,6 / 10 / 52
301 min
5,4 GB
1,2 GB
Binnen een paar liggen de snelste en de goedkoopste route gemiddeld 3,6 tot 4,4 minuten en 1,16 tot 1,35 euro uit elkaar. Freeflow heb ik afgebroken; die volgt later.
Nog open voor dit issue
Fiets en lopen doen mee met een route per paar, de snelste (2dc3abe). Een front voor de fiets, bijvoorbeeld via het fietsnetwerk van de Fietsersbond, is niet gebouwd.
De uitvoer per vertrekmoment met deze autofronten is nog niet gedraaid. De OV-ketenstore met pareto_optimal_eps in de ketenrijging voor vertrekmoment 07:00 loopt nu.
Epsilons (voorstel in het verslag): 60 s en een afstandsepsilon van 400 m (bij 0,24 euro per km gelijk aan 0,10 euro). Nog na te gaan en terug te koppelen: of tijdens de routering een relatieve marge wordt toegepast, en zo ja welke; ik probeer 1% verschil als niet significant te laten gelden.
changed the title [-]Voeg minimise criterium afstand toe voor auto/fiets[/-][+]Auto: Pareto-front op reistijd en afstand, kosten achteraf met één km-prijs (0,24 euro)[/+]on Oct 5, 2026
Car_CostPerKm (0,24 euro per km) vervangt Car_VariableCosts_PerKm, Car_FixedCosts_PerKm en IncludeCarFixedCostsInPrice. De kilometerprijs per wegklasse en de optrekkosten vervallen. Car_FixedCosts_PerTrip (parkeren, 0) blijft.
Het front van de directe autorit staat op reistijd en afstand: impedance_matrix_od64 met de pareto-optie en de linklengte als alternatieve impedantie (<moment>_<net>_w_AltImp_pareto). De prijs volgt bij het lezen: afstand x Car_CostPerKm + Car_FixedCosts_PerTrip.
Epsilons: CarFrontDistanceEpsilon 400 m in de zoektocht en bij het uitdunnen, met CarFrontTimeEpsilon 60 s.
Nieuwe autostores: CarNetwork_Revision_r3; de kosten staan niet meer in hun handtekening. De OV-uitvoer draagt de prijs in zijn handtekening (_car24ctkm).
De directe autorit heeft weer een afstand: TravelDist_V en TravelDist_Car, nu als laatste kolom.
Wiki: Private transport, Car costs and the (time, distance) front.
Gemeten
Buurten van de Kop van Noord-Holland naar de OV-knooppunten, ochtendspits, TomTom 2025.12, 81.592 paren:
oud: reistijd en linkkosten, 0,41 euro/km
nieuw: reistijd en afstand, 0,24 euro/km
routes per paar in de store (gem., max)
3,8, 30
4,3, 23
routes per paar na uitdunnen
2,9
3,6
spreiding binnen een paar
4,3 min, 1,31 euro
6,8 min, 4,8 km
gemiddelde prijs per route
32,66 euro
17,34 euro
store schrijven
47 s
56 s
De kortste reistijd per paar in de store is gelijk. Uitvoer van blok 1: TravelDist_Car bij alle 111.651 autorijen gelijk aan TravelDist_V, en CarPrice = km x 0,24 (op afronding na).
Gecorrigeerd
De beschrijving zei dat de snelste route van een paar bij het uitdunnen altijd blijft. Dat klopte al niet: binnen dezelfde tijdbak van 60 s wint de kortere (vroeger goedkopere) route. Bij 20% van de paren is de snelste overgebleven route daardoor tot 60 s langzamer dan de snelste route (met de kostenfronten 27%).
Nog open
Of een relatieve marge, bijvoorbeeld 1% van de afstand, beter werkt dan 400 m.
Relatieve epsilon, prijs eerst, en het autofront op afstand eerst (bed7abf, 1825962)
De bakken van 400 m en 60 s zijn vervangen door een relatieve epsilon (ObjectVision/GeoDMS#1282: edadab56d, c1d0aacbb, dcba9d9e0). Bakken hingen af van waar een grens viel, en 400 m (9,6 ct) is vlak bij de herkomst een groot verschil.
Prijs eerst
Het rapportagethema is bereikbaarheidsarmoede, dus de prijs staat voorop. De goedkoopste optie van een HB-paar blijft altijd staan. Een duurdere optie blijft alleen als ze meer dan 1% sneller is dan de snelste goedkopere optie die blijft. Zo heeft elke optie die afvalt een goedkopere die blijft en hoogstens 1% trager is.
Op het eerste criterium werkt een epsilon niet. ChainParetoPriceEpsilon (was 10 ct) vervalt.
De resttijden van de ketenrijger zijn een afstand tot het einde van het analysevenster, geen reisduur. Ze worden exact vergeleken. Ketenstore-revisie _r9, tag _chainrel1pct.
Het autofront
De zoektocht gaat op afstand eerst (de prijs is afstand x 0,24 euro): impedance_matrix_od64 op de linklengte, met de reistijd als alternatieve impedantie.
MaxCarTime (90 min) is de grens op het tweede criterium.
CarFrontMaxDistance (150 km/u x MaxCarTime) is de verplichte, ruime grens op de afstand.
CarFrontEpsilon (0,01) vervangt CarFrontDistanceEpsilon en CarFrontTimeEpsilon.
Met de grens op de reistijd zoekt de engine exact en dunt hij alleen per bestemming uit. Per knoop ging het mis: een deelroute die minder dan 1% sneller is, kan de enige zijn die binnen de 90 minuten blijft.
De store en Car_Front houden hun kolommen (reistijd in impedance, afstand in alt_imp). Tag _paretoCarD-r1pct.
Gemeten: de buurten van Dronten naar alle buurten van 2023 (42 herkomsten, 313.178 paren, TomTom 2025.12 ochtendspits), tegen het exacte front.
routes per paar
goedkoopste route langer dan exact
snelste route trager
operator
exact
22,6
45 s
oud: reistijd eerst, bakken 400 m en 60 s
3,1
89% van de paren, tot 25%
28%, tot 7%
10 s
afstand eerst, 1% per knoop
5,3
13,6%, tot 40%; 5.800 paren onbereikbaar
73%, tot 4,8%
9 s
afstand eerst, 1% per bestemming (nu)
6,3
0
hoogstens 1%
36 s
Getest
De component Auto voor Dronten door UpdateAll cars en output: 1.554.377 rijen, 4,96 per paar na de eindafweging. Gelijk met de schrijfwijze van 1825962 en die van bed7abf.
Haltenblok 1 van de ketenstap voor 2024 met beide schrijfwijzen: dezelfde 1.510.389 ketens.
EngineHasRelativeParetoEpsilon weigert een build die de epsilon nog als bakbreedte leest.
Wiki: How to run the model, Private transport, Public transport.
Nog open
batch/ValidateFronts.py toetst nog met vaste marges (1 min, 10 ct); met de relatieve regel hoort dat 1% te zijn.
De run van 10 oktober 2023, buurt naar buurt, rekent hiermee (#125, #126).
Bij het opschonen van de Descr's en het commentaar van cfg/main/ModelParameters.dms (werkafspraken: geen geschiedenis en metingen in een Descr) stond dit nog niet in een issue.
Uit de Descr van CarFrontEpsilon en het commentaar bij het autofront gehaald.
Omdat de zoektocht de reistijd begrenst (MaxCarTime), past de engine de relatieve epsilon alleen per bestemmingszone toe en zoekt hij verder exact (ObjectVision/GeoDMS c1d0aacbb). Met de epsilon per knoop was de goedkoopste route bij 13,6% van de paren langer dan exact, tot 40%. Car_Front past dezelfde regel toe met pareto_optimal_eps en dunt daardoor niets meer uit.
Varianten die eerder op 2026-10-05 zijn geprobeerd: reistijd eerst met CarFrontDistanceEpsilon (bakken van 400 m in de zoektocht en bij het lezen) en CarFrontTimeEpsilon (tijdbakken van 60 s bij het lezen); daarin kon een kortere route de snelste vervangen. In de handtekening gaf dat even 'e400m'.
Tot 2026-10-05 was het tweede criterium van het autofront de som van linkkosten, met een kilometerprijs per TomTom-wegklasse en optrekkosten op kruispunten (eeb5c5b, cc725b1, 0af2a3d, b33d315, 18e9368), met een kostenepsilon van 10 ct en, op een engine zonder epsilon, CarLegCostQuantum (1 ct op de linkkosten); de prijs stond in de handtekening van de autostore (Car_CostTag). Car_CostPerKm verving Car_VariableCosts_PerKm (0,20), Car_FixedCosts_PerKm (0,21) en IncludeCarFixedCostsInPrice.
Activity
[-]Voeg minimise criteriium afstand toe voor auto/fiets[/-][+]Voeg minimise criterium afstand toe voor auto/fiets[/+]MaartenHilferink commentedon Sep 24, 2026
Stand van 24 september: voor de auto werkt de pareto-afweging nu. De directe autorit is een front per HB-paar op (reistijd, kosten) en doet zo mee naast de OV-ketens en de directe loop- en fietsritten.
Wat er gebouwd is
Advanced/ParetoLegs_Car(76c58b2):impedance_matrix_od64met de pareto-optie. Het tweede criterium is niet de afstand maar de kosten per link: kilometerprijs per TomTom-wegklasse plus optrekkosten op kruispunten (eeb5c5b, cc725b1, 0af2a3d). De afstand weegt zo via de kilometerprijs mee; een apart afstandscriterium heb ik niet toegevoegd.pareto(imp2_epsilon)met 10 ct in de zoektocht, enpareto_optimal_epsmet 60 s en 10 ct na het lezen van de store. Op een engine voor 20.21 valt de config terug op kwantisatie per link.batch\UpdateAll.cmd cars.Effect op een testset (535 buurten in de Kop van Noord-Holland naar 462 OV-knooppunten, ochtendspits): van 55,7 routes per HB-paar met de eerste kostenfactoren, via 23,0 en 19,0 na de aanpassing van de optrekfactoren, naar 4,2 met de epsilon. De snelste route per paar bleef in alle 78.717 paren gelijk; de epsilon bracht de rekentijd van 3 minuten naar 39 seconden.
Volledige set, vannacht gerekend (88.126 herkomsten in clusters van 500 m naar 462 OV-knooppunten, MaxCarTime 90 min, GeoDMS 20.21 met #1282):
Binnen een paar liggen de snelste en de goedkoopste route gemiddeld 3,6 tot 4,4 minuten en 1,16 tot 1,35 euro uit elkaar. Freeflow heb ik afgebroken; die volgt later.
Nog open voor dit issue
pareto_optimal_epsin de ketenrijging voor vertrekmoment 07:00 loopt nu.MaartenHilferink commentedon Oct 5, 2026
Besluit (overleg PBL 5-10-2026)
Car_VariableCosts_PerKm,Car_FixedCosts_PerKmenIncludeCarFixedCostsInPrice).impedance_matrixmet de Pareto-optie, Pas impedance_matrix met pareto optie toe #115); de kosten volgen achteraf als afstand x km-kosten. De km-prijs per wegklasse en de optrekkosten (eeb5c5b, cc725b1, 0af2a3d, b33d315, 18e9368) vervallen.Gevolg: nieuwe autostores (revisie verhogen), en de uitvoer krijgt de afstand van de auto weer (0eb61ea haalde
TravelDist_Carweg).🤖 Generated with Claude Code
[-]Voeg minimise criterium afstand toe voor auto/fiets[/-][+]Auto: Pareto-front op reistijd en afstand, kosten achteraf met één km-prijs (0,24 euro)[/+]MaartenHilferink commentedon Oct 5, 2026
Uitgevoerd (cc69c62)
Car_CostPerKm(0,24 euro per km) vervangtCar_VariableCosts_PerKm,Car_FixedCosts_PerKmenIncludeCarFixedCostsInPrice. De kilometerprijs per wegklasse en de optrekkosten vervallen.Car_FixedCosts_PerTrip(parkeren, 0) blijft.impedance_matrix_od64met de pareto-optie en de linklengte als alternatieve impedantie (<moment>_<net>_w_AltImp_pareto). De prijs volgt bij het lezen: afstand xCar_CostPerKm+Car_FixedCosts_PerTrip.CarFrontDistanceEpsilon400 m in de zoektocht en bij het uitdunnen, metCarFrontTimeEpsilon60 s.CarNetwork_Revision_r3; de kosten staan niet meer in hun handtekening. De OV-uitvoer draagt de prijs in zijn handtekening (_car24ctkm).TravelDist_VenTravelDist_Car, nu als laatste kolom.Gemeten
Buurten van de Kop van Noord-Holland naar de OV-knooppunten, ochtendspits, TomTom 2025.12, 81.592 paren:
De kortste reistijd per paar in de store is gelijk. Uitvoer van blok 1:
TravelDist_Carbij alle 111.651 autorijen gelijk aanTravelDist_V, enCarPrice= km x 0,24 (op afronding na).Gecorrigeerd
De beschrijving zei dat de snelste route van een paar bij het uitdunnen altijd blijft. Dat klopte al niet: binnen dezelfde tijdbak van 60 s wint de kortere (vroeger goedkopere) route. Bij 20% van de paren is de snelste overgebleven route daardoor tot 60 s langzamer dan de snelste route (met de kostenfronten 27%).
Nog open
🤖 Generated with Claude Code
MaartenHilferink commentedon Oct 5, 2026
Relatieve epsilon, prijs eerst, en het autofront op afstand eerst (bed7abf, 1825962)
De bakken van 400 m en 60 s zijn vervangen door een relatieve epsilon (ObjectVision/GeoDMS#1282: edadab56d, c1d0aacbb, dcba9d9e0). Bakken hingen af van waar een grens viel, en 400 m (9,6 ct) is vlak bij de herkomst een groot verschil.
Prijs eerst
Het rapportagethema is bereikbaarheidsarmoede, dus de prijs staat voorop. De goedkoopste optie van een HB-paar blijft altijd staan. Een duurdere optie blijft alleen als ze meer dan 1% sneller is dan de snelste goedkopere optie die blijft. Zo heeft elke optie die afvalt een goedkopere die blijft en hoogstens 1% trager is.
ChainParetoTimeEpsilonis 0,01 (was 60 s). Het geldt in de eindafweging per vertrekmoment, bij het samenvoegen van de componenten (Componenten lopen, fiets en auto als aparte runs; optionele merge tot één Pareto-front met autobezit en fietsbezit #117) en, met een tijdpenalty, in de ketenrijger.ChainParetoPriceEpsilon(was 10 ct) vervalt._r9, tag_chainrel1pct.Het autofront
impedance_matrix_od64op de linklengte, met de reistijd als alternatieve impedantie.MaxCarTime(90 min) is de grens op het tweede criterium.CarFrontMaxDistance(150 km/u xMaxCarTime) is de verplichte, ruime grens op de afstand.CarFrontEpsilon(0,01) vervangtCarFrontDistanceEpsilonenCarFrontTimeEpsilon.Car_Fronthouden hun kolommen (reistijd inimpedance, afstand inalt_imp). Tag_paretoCarD-r1pct.Gemeten: de buurten van Dronten naar alle buurten van 2023 (42 herkomsten, 313.178 paren, TomTom 2025.12 ochtendspits), tegen het exacte front.
Getest
UpdateAll carsenoutput: 1.554.377 rijen, 4,96 per paar na de eindafweging. Gelijk met de schrijfwijze van 1825962 en die van bed7abf.EngineHasRelativeParetoEpsilonweigert een build die de epsilon nog als bakbreedte leest.Wiki: How to run the model, Private transport, Public transport.
Nog open
batch/ValidateFronts.pytoetst nog met vaste marges (1 min, 10 ct); met de relatieve regel hoort dat 1% te zijn.De run van 10 oktober 2023, buurt naar buurt, rekent hiermee (#125, #126).
🤖 Generated with Claude Code
Auto: een km-prijs van 0,24 euro, en het front van de directe autorit…
Relatieve epsilons, prijs eerst, en het autofront op afstand eerst (#88)
pareto_optimal_eps zonder epsilon na het eerste criterium, en de engi…
MaartenHilferink commentedon Oct 26, 2026
Bewaard uit ModelParameters.dms
Bij het opschonen van de Descr's en het commentaar van
cfg/main/ModelParameters.dms(werkafspraken: geen geschiedenis en metingen in een Descr) stond dit nog niet in een issue.Uit de Descr van CarFrontEpsilon en het commentaar bij het autofront gehaald.
Omdat de zoektocht de reistijd begrenst (MaxCarTime), past de engine de relatieve epsilon alleen per bestemmingszone toe en zoekt hij verder exact (ObjectVision/GeoDMS c1d0aacbb). Met de epsilon per knoop was de goedkoopste route bij 13,6% van de paren langer dan exact, tot 40%. Car_Front past dezelfde regel toe met pareto_optimal_eps en dunt daardoor niets meer uit.
Varianten die eerder op 2026-10-05 zijn geprobeerd: reistijd eerst met CarFrontDistanceEpsilon (bakken van 400 m in de zoektocht en bij het lezen) en CarFrontTimeEpsilon (tijdbakken van 60 s bij het lezen); daarin kon een kortere route de snelste vervangen. In de handtekening gaf dat even 'e400m'.
Tot 2026-10-05 was het tweede criterium van het autofront de som van linkkosten, met een kilometerprijs per TomTom-wegklasse en optrekkosten op kruispunten (eeb5c5b, cc725b1, 0af2a3d, b33d315, 18e9368), met een kostenepsilon van 10 ct en, op een engine zonder epsilon, CarLegCostQuantum (1 ct op de linkkosten); de prijs stond in de handtekening van de autostore (Car_CostTag). Car_CostPerKm verving Car_VariableCosts_PerKm (0,20), Car_FixedCosts_PerKm (0,21) en IncludeCarFixedCostsInPrice.
#125 ModelParameters: Descr's en commentaar zonder geschiedenis, meti…