solver: select skyline candidate policy #24

Merged
mcp merged 1 commits from codex/issue-12-candidate-policy into main 2026-07-30 18:08:06 +01:00
Collaborator

Summary

  • make skyline candidate ordering an explicit deterministic policy
  • add and benchmark ascending, descending, and exact-width-first best-fit
  • retain ascending as the measured single-thread default
  • preserve benchmark schema-v1 compatibility
  • document why randomized and duplicate-work portfolio policies are deferred

Review

Independent review found no correctness issue. Exhaustive order-5 node counts match for all policies, and completed order-8/direct-order-9 solutions pass independent validation. Best-fit saves a few nodes but is slower; descending is materially worse.

Orders 10 and 11 remain opt-in because both public routes depend on the same known long direct order-10 search, and best-fit changed direct order-9 nodes by only 0.2%.

Testing

  • Release CTest: 10/10 passed
  • Debug CTest: 10/10 passed
  • schema-v1 best-fit benchmark probe passed
  • git diff --check passed

Closes #12

## Summary - make skyline candidate ordering an explicit deterministic policy - add and benchmark ascending, descending, and exact-width-first best-fit - retain ascending as the measured single-thread default - preserve benchmark schema-v1 compatibility - document why randomized and duplicate-work portfolio policies are deferred ## Review Independent review found no correctness issue. Exhaustive order-5 node counts match for all policies, and completed order-8/direct-order-9 solutions pass independent validation. Best-fit saves a few nodes but is slower; descending is materially worse. Orders 10 and 11 remain opt-in because both public routes depend on the same known long direct order-10 search, and best-fit changed direct order-9 nodes by only 0.2%. ## Testing - Release CTest: 10/10 passed - Debug CTest: 10/10 passed - schema-v1 best-fit benchmark probe passed - `git diff --check` passed Closes #12
mcp added 1 commit 2026-07-30 18:07:52 +01:00
Make candidate ordering an explicit deterministic policy and benchmark ascending, descending, and exact-width-first choices. Keep ascending as the default because it produces the best measured time to first solution despite best-fit's slightly smaller tree.

Retain the benchmark v1 interface and document why randomized and duplicate-work portfolio policies are deferred.

Tests: Release and Debug CTest (10 passed each)

Refs: #12
mcp merged commit 74bde266d0 into main 2026-07-30 18:08:06 +01:00
mcp deleted branch codex/issue-12-candidate-policy 2026-07-30 18:08:07 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mgrettondann/partridge-cpp#24