Skip to content

Add bounded knapsack-augmented cumulative overload checking - #246

Merged
zayenz merged 9 commits into
mainfrom
feature/kaoc-cumulative
Oct 6, 2026
Merged

zayenz merged 9 commits into
mainfrom
feature/kaoc-cumulative

Conversation

@zayenz

@zayenz zayenz commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Advanced cumulative propagation can miss overloads when integral task demands cannot fill the apparent spare capacity. This adds the bounded knapsack-augmented overload check (KAOC) from Cloutier and Quimper, CP 2026.

The checker runs after ordinary overload checking and before edge finding under advanced propagation. It admits 4–64 currently mandatory supported tasks, capacities 2–127, and positive demands with at least one non-unit demand. Reachability uses two machine words and transient Region scratch. Optional propagators apply the task-count gate and cost classification to their mandatory subset. KAOC detects conflicts without pruning bounds.

zayenz added 4 commits October 2, 2026 15:01
Extract the advanced Int cumulative propagation from feature/model without its Model or scheduling dependencies. Retain mandatory-subset handling, two-word reachability, transient scratch, and propagation costs.

Cover scalar recurrence agreement, residual bit boundaries, variable-capacity cloning, and optional arrays with more than 64 tasks. Document activation limits and include the header in Autotools installs.
@zayenz
zayenz marked this pull request as ready for review October 4, 2026 11:48

@zayenz zayenz left a comment •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • The knapsack check rejected feasible fixed-end tasks with variable processing times. It now requires fixed duration before applying the energy check. Endpoint differences are computed in a wide type to avoid overflow. Added a regression with a feasible duration-one schedule.
  • Renamed the subset-demand helper to max_reachable and documented the compulsory profile, prefix state, and energy backlog.
  • Documented the task, demand, and capacity limits, including which optional tasks participate.

@zayenz zayenz left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No actionable findings in the bounded knapsack overload checker. The fixed-duration guard and wide endpoint arithmetic are sound. All 14 CI checks pass at 7bd8aa8cb7; default CI includes cumulative semantic cases but omits the focused knapsack regression.

@zayenz
zayenz merged commit b94715d into main Oct 6, 2026
12 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant