Skip to content

S1/S2 snap to the nearest swept λ point: in 5 of 42 areas both scenarios land on the SAME point #52

Description

@MaartenHilferink

Found while measuring choice-set pressure for the deck (p5).

The defect

S1 (same facility count as baseline) and S2 (same travel cost as baseline) are each located by a λ bracket, and the exported scenario is then read off the nearest swept grid point inside that bracket. When the two brackets share an endpoint, both scenarios snap to it and become identical.

area S1 bracket S2 bracket both snap to
SE2 (0.2, 0.5) (0.5, 1.0) w = 0.5
FRC, FRH, FRJ, FRK same pattern

5 of 42 areas. For SE2 the consequence is concrete: its delivered S1 has 309 open facilities, not the baseline 452 — it is really its S2 point wearing the S1 label. The scenario is defined as same count as today, and this file does not satisfy that.

What is and is not affected

  • Unaffected: the interpolated λ tables (deck p57–58) and the crossings CSV (Provide frontier projection data beschikbaar maken. #48). Those interpolate between bracket endpoints and never snap.
  • Affected: the exported S1/S2 open-location Arrow files (Share S1 and S2 results for some regions with Chris #45, and Chris's services_allocated reads them), and the stranding/choice-set counts read from the S1 assignment (deck p5 uses SE2's S2 for that reason).
  • Also affected in principle: the planned exact soft-coverage p-median MIP, if it seeds from these files.

Fix

Replace the snap with a refinement step inside the bracket: bisect (or a few extra λ solves) until the S1 point's facility count is within a tolerance of the baseline count, and likewise S2's travel cost — then export that solution. The sweep already has a bisection routine for S2 (S2 bisection over w in … appears in the logs); S1 needs the same, and the export must take the refined point rather than the grid neighbour.

Until then, treat the S1 file as unreliable for FRC, FRH, FRJ, FRK and SE2; S2 is fine in all five (it is the point both snapped to).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions