perf: cap the cost stage at 3 s and log what it left on the table - #154
Merged
Merged
Conversation
The cost stage is anytime branch and bound and spends whatever the reserve leaves of the limit. On the production 10 s limit that is 5.4 s, and with the tie break seated in the rest, 17 percent of the split solves ended past the limit. An absolute cap of 3 s brings a split to about 7.5 s. Whether the seconds past 3 bought money is unknown, so the request log now carries the cost stage value and the gap CBC reported between its schedule and its bound, in currency, zero when proven.
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.
Follows up on the tie break reserve change in #143 and the continuity pass in #151, measured in production over 2026-09-05 to 2026-09-14.
The cost stage is anytime branch and bound and consumes whatever the reserve leaves of the limit. Since the reserve was sized to the tie break cap it gets 5.4 s of the 10 s limit, the tie break seats in the rest, and 17 percent of the split solves end past the limit. Split solves are 3 percent of the traffic and 38 percent of the CPU. Whether those seconds buy money has never been measured, so this caps the stage and logs what would show it.
COST_TIME_LIMIT3 s caps the cost stage on a split. A split lands around 7.5 s instead of 10.2 s. Requests without a time limit stay uncapped.cost_stage_valueandcost_stage_gap, the money the cost stage found and what CBC could not rule out above it, in currency, zero when proven. Parsed from CBC's own summary, the solution file has no bound.🤖 Generated with Claude Code