-
Notifications
You must be signed in to change notification settings - Fork 151
Race batch PDLP and dual simplex in strong branching / reliability branching #994
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Kh4ster
wants to merge
52
commits into
release/26.04
Choose a base branch
from
race_strong_branching_realibility_branching
base: release/26.04
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,773
−423
Open
Changes from all commits
Commits
Show all changes
52 commits
Select commit
Hold shift + click to select a range
70b251d
implement racing for strong branching
Kh4ster 6848df1
race on by default
Kh4ster fc7aa04
tmp
Kh4ster 1614bc1
fix
Kh4ster 4f33531
fix
Kh4ster e0a530e
workaround for thrust reverse iterator build error
tmckayus e330718
remove compile file
Kh4ster dce6d4f
fix
Kh4ster 9c03faf
final cleanup
Kh4ster 6c2fe35
addtional cleanup
Kh4ster eb60c98
Merge branch 'main' into fix_batch_pdlp
Kh4ster a43dc0c
address PR comments, add tests, update doc
Kh4ster c8b8b74
format
Kh4ster b1be5bb
format
Kh4ster fe31e7e
Merge branch 'main' into fix_batch_pdlp
Kh4ster d89af96
style
Kh4ster c7e3e22
put back changes in restart
Kh4ster 793345c
Merge remote-tracking branch 'upstream/fix_batch_pdlp' into race_stro…
Kh4ster 73a52b1
fix use overall time limit, reduce memory consumtion and add a bigger…
Kh4ster dbc94fd
switch to double for memory estimator as size_t was hitting overflow …
Kh4ster 8b1ec93
add support for dual simplex warm start
Kh4ster f97d817
Merge branch 'main' into race_strong_branching
Kh4ster 71e47eb
handle batch pdlp being out of memory not has teramintion error
Kh4ster d025441
add a basic batch pdlp race strategy in strong branching
Kh4ster b43d7f3
Merge branch 'main' into race_strong_branching_realibility_branching
Kh4ster 3044887
fix compilation issue
Kh4ster 0108de4
separate the two batch pdlp settings
Kh4ster 721a56a
Fix bug where batch PDLP for strong branching was running on problem …
chris-maes 13ae8b4
Merge remote-tracking branch 'chris/strong_branching_batch_lp_transla…
Kh4ster ba1e4bd
pass slack and correct problem convertion also in reliabiltiy branch…
Kh4ster d20efd4
Merge branch 'main' into race_strong_branching_realibility_branching
Kh4ster d513865
add initial pdlp iteartions to the warm start data and on by default
Kh4ster a3a458d
put clique table in lp necessary file, add solver setting flag to gen…
Kh4ster 79d05e7
initial version of work stealing
Kh4ster 2c8bbfd
add option to use either dual simplex, bpdlp, or both with work stealing
Kh4ster 0968167
fix: resize the buffers to handle the case where we go to a single co…
Kh4ster 7642ded
general batch pdlp improvements and support work stealing in RB
Kh4ster 84dab81
turn off logs
Kh4ster 004fe3e
Merge branch 'release/26.04' into race_strong_branching_realibility_b…
Kh4ster a97cca7
few improvements to BPDLP
Kh4ster 6979086
reduce accuracy to 1e-5, no BPDLP if in sub mip, disable BPDLP in RB …
Kh4ster b0061e4
empty just to run a new benchmark
Kh4ster f504a75
fix PR review comments
Kh4ster f456c71
Merge branch 'release/26.04' into race_strong_branching_realibility_b…
Kh4ster 962c2ea
fix: disable batch pdlp if deterministic mode
Kh4ster 496c4fd
fix: add size assertion to shared strong branching context
Kh4ster 9ec3f40
cleanup names
Kh4ster 16e4e5f
multiples fixes: use span only in solver, use tasks to launch bpdlp r…
Kh4ster 843c532
two improvements: mark variables as solved in DS if node became relia…
Kh4ster a9fd420
fix: avoid early exit if solved at step 0 even when initial pdlp itea…
Kh4ster edae299
disable both by default
Kh4ster 6e5baa5
styl
Kh4ster File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep batch solution generation opt-out, not opt-in.
With this default at
false, generic batch LP solves now return empty primal/dual/reduced-cost buffers unless every caller remembers to opt in. Existing batch tests incpp/tests/linear_programming/pdlp_test.custill slice those buffers aftersolve_lp(..., new_bounds ...), so this silently regresses the non-MIP batch path and can drive helpers likeextract_subvector()past a zero-length buffer. The strong/reliability-branching call sites can disable collection explicitly, but the default here needs to preserve the old behavior.Suggested fix
📝 Committable suggestion
🤖 Prompt for AI Agents