Conversation
isPANN
added this pull request to stack #1181
September 28, 2026 07:29
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## fix/augmentation-ilp-overhead #1184 +/- ##
=================================================================
+ Coverage 96.77% 96.79% +0.01%
=================================================================
Files 1072 1073 +1
Lines 140741 141444 +703
=================================================================
+ Hits 136199 136905 +706
+ Misses 4542 4539 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This PR completes the remaining 20 direct integer-coefficient ILP prediction contracts relative to #1183. A graph audit now finds 126/126 complete direct contracts, up from 106/126 on the base branch.
These reductions already predicted structural counts, but left numeric constraint magnitudes unavailable. Binary encoding and ILP → QUBO need those magnitudes to bound the variables introduced by the construction. Consequently, a missing field on an incoming ILP edge could prevent an end-to-end size prediction even when the reduction itself was implemented.
The changes supply coarse, sound bounds using intrinsic source data and propagate the necessary parameters through incoming edges. Each rule keeps its prediction contract explicit and local, with only source parameters on the right-hand side.
Stack: targets
fix/augmentation-ilp-overhead(#1183). Related to #1175; unavailable contracts elsewhere in the graph remain outside this PR's scope.Changes
Predict numeric magnitudes from source data
Add magnitude getters for the numeric inputs actually needed by the affected rules: delays, weights and capacities, processing times, resource requirements, costs, and circuit lengths. They reuse the existing helper that computes the smallest
h >= 1with each absolute magnitude strictly below2^h.1.Normalize constructions where source bounds suffice
n × deadlineassignment variables and evaluation scanned every time slot.nslots and cap useful processor capacity atn. The ILP has at mostn²variables; source evaluation visits only occupied slots.The size contracts, mathematical explanations, and regression tests cover these changes. Constructors and reduction signatures retain their existing APIs.
Verified CLI behavior
The following checks ran through
pred inspect,pred path,pred reduce,pred solve --solver ilp, andpred evaluate, including recovery of the original source solution.[1,1], capacity1, deadlinei64::MAXOr(true), schedule[1,0]1, deadlinei64::MINMin(1)[2,3], values[1,9], precedence(0,1), capacity3Max(1)The old resource-scheduling allocation behavior in the table above is established from the base implementation; it was not executed with
i64::MAX.Validation
cargo test --workspace --all-features: 6,967 passed before the final behavior-preserving cleanup.cargo clippy --workspace --all-targets --all-features -- -D warnings: passed.git diff --check: passed.make paperand the final Typst build: passed.Tests compare predicted parameters against constructed targets and recovered source objectives against brute-force reference solutions. Large ThreeDimensionalMatching numeric gadgets are checked for incoming contracts and symbolic composition; their full QUBO solve is not claimed here. Fixed-width construction can still return typed numeric errors even when a symbolic size bound is available.