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.76% 96.78% +0.01%
=================================================================
Files 1072 1073 +1
Lines 140769 141472 +703
=================================================================
+ Hits 136216 136922 +706
+ Misses 4553 4550 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
isPANN
added a commit
that referenced
this pull request
Sep 29, 2026
isPANN
removed this pull request from stack #1181
September 29, 2026 12:24
Collaborator
Author
|
Merged to #1174. |
GiggleLiu
added a commit
that referenced
this pull request
Oct 3, 2026
* Make derivable reduction parameters exact * Check every field in exact reduction transforms * Verify exact reduction parameters on randomized instances * Check exact and upper-bound reduction parameters * Document and simplify parameter formula validation * Improve parameter prediction contracts and bound integer ILP reductions * Derive reduction parameter bounds from constructed targets Correct exactness claims, count sparse coefficients by construction block, reject negative flow capacities, and verify metadata using existing behavior inputs and real executors. * Consolidate bounded ILP and parameter prediction stack Squash the combined changes from PRs #1180, #1182, #1183, #1184, and #1185 into #1174. Preserve the complete stack-tip tree so subsequent corrections can be maintained on one branch. * Correct ILP parameter bounds and simplify reduction code * Calibrate parity and universe-size reduction bounds Derive upper bounds from conditional even padding and the set-packing endpoint universe. Preserve the exact edge-to-set count and verify the registered promises in existing parity and isolated-vertex tests. * Remove invalid reduction catalog edges * Add direct binary ILP pipelines for exact-one SAT and graph kernels * Preserve scheduling semantics with compact ILP constructions * Simplify scheduling solution extraction * Tighten ILP nonzero bounds using construction counts * Compact exact reductions and register missing solver pipelines Replace oversized formulations with compact constructions for partition, register, matrix, graph, and ordering problems. Add direct bounded ILP pipelines and reuse exact customized subset-sum and clique-cover solvers. Preserve signed weights and costs, avoid artificial partition-bound overflow, and align overhead contracts, rule targets, tests, and proofs with the resulting constructions. Validated with make check, make paper, independent reduction audits, and CLI solver and extraction round trips. * Remove redundant reduction parameters and derive bounds from model inputs * Fix exact verification bottlenecks in reduction targets * Simplify reduction results and exact solver bookkeeping * fix: bound solver precomputation by small witness budgets * fix: remove needless borrow flagged by current CI clippy * fix: cap solver preprocessing and handle large union chains --------- Co-authored-by: GiggleLiu <cacate0129@gmail.com>
GiggleLiu
added a commit
that referenced
this pull request
Oct 3, 2026
…1190) * Make derivable reduction parameters exact * Check every field in exact reduction transforms * Verify exact reduction parameters on randomized instances * Check exact and upper-bound reduction parameters * Document and simplify parameter formula validation * Improve parameter prediction contracts and bound integer ILP reductions * Derive reduction parameter bounds from constructed targets Correct exactness claims, count sparse coefficients by construction block, reject negative flow capacities, and verify metadata using existing behavior inputs and real executors. * Consolidate bounded ILP and parameter prediction stack Squash the combined changes from PRs #1180, #1182, #1183, #1184, and #1185 into #1174. Preserve the complete stack-tip tree so subsequent corrections can be maintained on one branch. * Correct ILP parameter bounds and simplify reduction code * Calibrate parity and universe-size reduction bounds Derive upper bounds from conditional even padding and the set-packing endpoint universe. Preserve the exact edge-to-set count and verify the registered promises in existing parity and isolated-vertex tests. * Remove invalid reduction catalog edges * Add direct binary ILP pipelines for exact-one SAT and graph kernels * Preserve scheduling semantics with compact ILP constructions * Simplify scheduling solution extraction * Tighten ILP nonzero bounds using construction counts * Compact exact reductions and register missing solver pipelines Replace oversized formulations with compact constructions for partition, register, matrix, graph, and ordering problems. Add direct bounded ILP pipelines and reuse exact customized subset-sum and clique-cover solvers. Preserve signed weights and costs, avoid artificial partition-bound overflow, and align overhead contracts, rule targets, tests, and proofs with the resulting constructions. Validated with make check, make paper, independent reduction audits, and CLI solver and extraction round trips. * Remove redundant reduction parameters and derive bounds from model inputs * Fix exact verification bottlenecks in reduction targets * Simplify reduction results and exact solver bookkeeping * Tighten construction overhead bounds and expose required source statistics * Use lattice geometry and cached rectangle incidence to tighten remaining bounds * Sum individual coefficient width bounds for lattice encodings * Reuse constructed parameters in overhead count tests * fix: bound solver precomputation by small witness budgets * fix: remove needless borrow flagged by current CI clippy * fix: cap solver preprocessing and handle large union chains --------- Co-authored-by: GiggleLiu <cacate0129@gmail.com>
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.
Superseded by #1174. This PR’s changes were included in the combined squash commit
8bdddd45onfix/exact-reduction-parameters. Continue review and fixes in #1174. The original description below is retained for reference.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.
Stack refresh
Merged the updated parent #1183, carrying the construction-derived bounds and validation fixes from #1174 through the stack. Preserved this PR's bounded ILP types, numeric-magnitude fields, and algorithms; no instance fixtures were added. The PR remains based on its immediate parent.
Validation of the updated head:
make checkpassed (formatting, all-target/all-feature Clippy, and workspace tests including ignored tests). GitHub CI is restricted to PRs targetingmainordevelop, so these stack branches were checked locally.