-
Notifications
You must be signed in to change notification settings - Fork 209
Recursive RINS #1482
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
nguidotti
wants to merge
51
commits into
NVIDIA:main
Choose a base branch
from
nguidotti:recursive-submip
base: main
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.
+2,062
−984
Open
Recursive RINS #1482
Changes from all commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
aefe31a
recursive RINS based on HiGHS.
nguidotti ba99a21
fix time limit violation when solving the submip
nguidotti 727e20e
clean up the code a bit. print submip symbol in the logs instead of H
nguidotti 37182d3
fix potential race condition
nguidotti bd7777b
allow rins to fire whenever it is idling. fix incorrect recursion check.
nguidotti c46eecd
added a presolver_t class for MIP so it can be used for presolving su…
nguidotti 6596b6e
added routine for converting from standard form to range form
nguidotti c78007a
Merge branch 'main' into recursive-submip
nguidotti 20fae2e
Merge branch 'form-conversion' into recursive-submip
nguidotti d39e424
apply presolver before solving the submip. missing warm start.
nguidotti 3328cda
pass the upper bound from the parent B&B to the children. clean up th…
nguidotti 583a6c4
Merge branch 'main' into recursive-submip
nguidotti a37acd4
crush the incumbent and pass to the submip B&B. includes #1104
nguidotti 579dc19
warm the submip solve with the crushed pseudocost from the parent.
nguidotti b43caab
set an iteration limit for the submip solve
nguidotti 234361d
extend the neighbourhood to reach the min fixrate using a coefficient…
nguidotti f7cd067
properly handle the upper bound changes in the main solve. fixed iter…
nguidotti b30df80
fix incorrect submip iteration count. moved submipt worker to worker.hpp
nguidotti ce211f3
fix incorrect subspace of the incumbent
nguidotti 8b9bf67
silence submip logs
nguidotti 92a0f17
fix incorrect conversion from Papilo problem to user_problem
nguidotti 9b48c09
untied the active diving heuristics with the number of diving workers…
nguidotti d16e641
spawn an CPUFJ task alongside each submip solve
nguidotti 869cc34
merged submip and diving workers. submip not perform a short diving i…
nguidotti 76135a9
address ai reviews
nguidotti 371d15f
fix accumulating an invalid iteration count when the problem is infea…
nguidotti 7d40c07
fix out-of-bound access in GF2 reduction and CliqueMerging
nguidotti d5f020e
enabled cuts when solving the submip. fix incorrectly limiting the nu…
nguidotti 0a9f7ca
Merge branch 'main' into recursive-submip
nguidotti c749322
code cleanup
nguidotti aef9515
fix mismatch tolerance between assert and acceptance in flow cover cuts
nguidotti bec9c50
Merge branch 'main' into recursive-submip
nguidotti aae222c
fix assertion failure in dual infer in Papilo (temporary redirect Pap…
nguidotti d187756
silence Papilo post-solve message (the tolerance in RINS are looser t…
nguidotti c656ae4
additional fix for assertion failure in Papilo
nguidotti beb4a3d
handle trivial sub-MIP after presolve. increase time limit and num th…
nguidotti 7d3170b
removed "old" RINS
nguidotti 4a5df0d
set the correct dimensions of the full solution vector at the start. …
nguidotti fb3d5a1
enable debug logs for CI crash
nguidotti 4a88ad7
disable debug logs
nguidotti 3ddb03c
unified set_solution routine across heuristics and submip. address ot…
nguidotti 4af4d98
refactor CPU FJ worker
nguidotti 332a683
correctly halting the submip instances after converged to the optimal…
nguidotti 662110d
added additional tests. use the worker current solution for cpu fj
nguidotti 49d01e8
run cpu fj when fixrate is slow or we already found an improving solu…
nguidotti cf664ee
Merge branch 'main' into recursive-submip
nguidotti 45eceba
set the correct guess for cpu fj. do not move lower/upper bounds befo…
nguidotti 3f7c9fc
additional fixes
nguidotti 94319e4
fix delayed termination when the tree is fully explored
nguidotti 346dcfb
potential fix for the flow cuts assertion failure
nguidotti 4ed7233
increase fill-in rate when solving the submip
nguidotti 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
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.
Why do we pin on your repo? Is it because of a required upstream fix? If so, we probably should wait until it is merged before merging the PR instead of depending on a personal repo (or at least, track that with an issue)
Uh oh!
There was an error while loading. Please reload this page.
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.
Yeah, this is only temporary. I will wait for scipopt/papilo#89 to merged before merging this PR