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
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.
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).
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.
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
services_allocatedreads them), and the stranding/choice-set counts read from the S1 assignment (deck p5 uses SE2's S2 for that reason).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).