Run hypergraph-native region optimization after every solve - #2115
Run hypergraph-native region optimization after every solve#2115seveibar wants to merge 10 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Benchmark This PRRun benchmarks by commenting on this PR: Comment Everything after Use Any PR whose title contains |
|
/benchmark --same-machine --dataset 18 |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 1 improved, 3 regressed. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (4)
Workflow: View run |
|
/benchmark --dataset 18 --same-machine |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 1 improved, 2 regressed. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (3)
Workflow: View run |
|
/benchmark --dataset 18 --same-machine |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 1 improved, 0 regressed. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (1)
Workflow: View run |
|
/benchmark --dataset 18 --same-machine |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 1 improved, 0 regressed. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (1)
Workflow: View run |
|
This PR has been automatically marked as stale because it has had no recent activity. It will be closed if no further activity occurs. |
|
This PR was closed because it has been inactive for 1 day since being marked as stale. |
Summary
8573307There is no optimizer toggle, per-pipeline branch, dataset classifier, density gate, or target threshold.
Scope boundary
This is the focused replacement for #2100, which remains open only as an implementation and benchmark reference.
This PR intentionally does not:
SimpleRouteJsoninto hypergraph pathingWhy these changes are necessary
The tiny-hypergraph section pipeline owns the post-solve stage, but the autorouter wrapper previously returned the preceding section solver's graph. This integration supplies only hypergraph-native options and selects the optimizer stage's output. An optimizer failure is surfaced as an error rather than hidden behind a fallback.
The dependency now follows single-route descent before opening pair ejection, preserving the full neighborhood while avoiding repeated quadratic work. It then reverse-relinks the accepted mutation history under the achieved peak as a hard constraint. This retains temporary plateau moves when they unlock a better peak, but removes unrelated lane displacement and superseded route replacements before detailed routing.
Pipeline7 evidence
./benchmark.sh: all 8 committed Pipeline7 hypergraphs completed and improved; P50 maximum region cost reduced 59.1%, P95 reduced 51.8%.The paired benchmark used runtime commit
45cc81c; subsequent commits change SVG snapshots only.Validation
bunx tsc --noEmit, format check, andgit diff --check./benchmark.sh— P50 59.1%, P95 51.8%git diff --checkThe autorouter diff contains no new
SimpleRouteJson, geometric-connectivity, DRC-repair, high-density-repair, threshold, or sample-specific plumbing.