Skip to content

Auto: Pareto-front op reistijd en afstand, kosten achteraf met één km-prijs (0,24 euro) #88

Open

Description

@jipclaassens

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.

Activity

  1. self-assigned this
    on Aug 6, 2025
  2. changed the title [-]Voeg minimise criteriium afstand toe voor auto/fiets[/-] [+]Voeg minimise criterium afstand toe voor auto/fiets[/+] on Sep 22, 2026
  3. removed their assignment
    on Sep 23, 2026
  4. MaartenHilferink commented on Sep 24, 2026

    @MaartenHilferink
    Contributor

    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

    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.
  5. MaartenHilferink commented on Oct 5, 2026

    @MaartenHilferink
    Contributor

    Besluit (overleg PBL 5-10-2026)

    Gevolg: nieuwe autostores (revisie verhogen), en de uitvoer krijgt de afstand van de auto weer (0eb61ea haalde TravelDist_Car weg).

    🤖 Generated with Claude Code

  6. 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
  7. MaartenHilferink commented on Oct 5, 2026

    @MaartenHilferink
    Contributor

    Uitgevoerd (cc69c62)

    • 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

    🤖 Generated with Claude Code

  8. MaartenHilferink commented on Oct 5, 2026

    @MaartenHilferink
    Contributor

    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.

    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).

    🤖 Generated with Claude Code

  9. MaartenHilferink commented on Oct 26, 2026

    @MaartenHilferink
    Contributor

    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.

  10. added a commit that references this issue on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions