-
Notifications
You must be signed in to change notification settings - Fork 161
Scheduler-Worker Model + Reliability Branching #766
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
Merged
rapids-bot
merged 153 commits into
NVIDIA:release/26.02
from
nguidotti:reliability-branching
Feb 6, 2026
Merged
Changes from all commits
Commits
Show all changes
153 commits
Select commit
Hold shift + click to select a range
c9081a6
implemented diving heuristics. sorted starting nodes for diving based…
nguidotti 046a501
moved diving heuristics to a separated file
nguidotti 6ea6d72
organized code. added toggle to disable each type of diving.
nguidotti 5422b97
restrict calling RINS to the best-first threads
nguidotti 73c1a63
fix invalid branch var in line search diving
nguidotti 3a77cca
moved asserts
nguidotti 0f7af4e
replace inf and max with STL calls
nguidotti 79368c3
Fix incorrect infeasible list
chris-maes 6334ad7
implemented diving heuristics. sorted starting nodes for diving based…
nguidotti 2c94a7c
moved diving heuristics to a separated file
nguidotti 0e815e1
organized code. added toggle to disable each type of diving.
nguidotti 29a2a33
moved asserts
nguidotti 5a3ef60
unified global node heap. fathom node in the diving node that was alr…
nguidotti c181ccf
refactoring code
nguidotti 501c20d
fix style
nguidotti 0ee757a
small fixes
nguidotti 546b116
unified the best-first and diving heap into a single object. imposed …
nguidotti 06d531a
adjusted column spacing in bnb logs. added opening mode for logger.
nguidotti ae742c2
revert fixes for dual simplex. changed RINS and SubMIP to use guided …
nguidotti b5f2c7e
moved bound propagation logs to debug mode
nguidotti eb5c695
addressing code rabbit suggestions
nguidotti 5cf5ac0
added explicit conversion to float
nguidotti d7dfb0d
missing code revert in basis update
nguidotti 55e64cc
fixed variable type
nguidotti a26a816
Merge remote-tracking branch 'origin/main' into node-queue
nguidotti 17d3d7c
Merge remote-tracking branch 'origin/main' into diving-heuristics
nguidotti 0b1e994
added comments
nguidotti 9effdc8
added missing spacing
nguidotti 6d43e03
updated logs
nguidotti 98f670f
Merge branch 'main' into adjust-bnb-logs
nguidotti d54ecbd
Merge branch 'main' into node-queue
nguidotti 0aa344e
Merge branch 'main' into diving-heuristics
nguidotti fbb9966
refactoring
nguidotti 7a5284e
Merge branch 'adjust-bnb-logs' into diving-heuristics
nguidotti 78f38a4
adjust header spacing
nguidotti 668da14
Merge branch 'adjust-bnb-logs' into diving-heuristics
nguidotti dd8955f
fix compilation error
nguidotti 9f07cbb
Merge branch 'main' into diving-heuristics
nguidotti cb1208f
Merge branch 'main' into diving-heuristics
nguidotti ed20d95
Merge branch 'main' into node-queue
nguidotti 426b445
added cli option for disabling each diving heuristic
nguidotti 319bd22
fix style
nguidotti 3e52ffe
fix infeasible list (#694)
nguidotti 1178493
Merge branch 'main' into diving-heuristics
nguidotti 972b187
created a struct with all persistent data used by each worker
nguidotti d076da2
replace hashmap with a vector
nguidotti d8e3541
fix missing initialization
nguidotti 4796733
added a setting for each type of task. changed how to set the number …
nguidotti 308237e
first version of the new parallel b&b
nguidotti a0fa4e1
refactoring and fixing bugs
nguidotti 25b0bed
several bug fixes
nguidotti 25dac02
handle master suspension. added overdecomposition.
nguidotti 85eab64
fix incorrect number of workers
nguidotti 227d7f8
removed ramp-up phase
nguidotti 5aecd63
added some comments
nguidotti 8dd2d08
fix incorrect termination status
nguidotti 1dcee03
replace upper bound lock with atomic
nguidotti 9e2e5c7
improve idling master thread
nguidotti 34f7eaa
added ramp-up-phase
nguidotti 769a3d8
refactoring
nguidotti c54033c
updating code to match the new parallel bnb
nguidotti 28c61b8
Merge branch 'main' into diving-heuristics
nguidotti 4bcf801
removed command line options
nguidotti d91369d
fix style
nguidotti 4ee57f9
fix compilation failure
nguidotti b99a9c7
separated objective estimate and variable selection
nguidotti 43f8b31
separating objective estimate from variable selection
nguidotti a36bf03
added log
nguidotti d4c9d54
Merge branch 'node-queue' into diving-heuristics
nguidotti b9a14bf
Merge branch 'diving-heuristics' into parallel-bnb-v2
nguidotti 7c5c996
small refactor
nguidotti 5753de8
code cleanup
nguidotti 421cbfd
fix reporting frequency
nguidotti 6faeed0
fix style
nguidotti d7046e3
added missing stl headers. fix incorrect round-robin.
nguidotti 14441d1
refactor to eliminate enum
nguidotti 89cc6de
fix race condition in guided diving
nguidotti 525f013
reliability branching from #599
nguidotti 0fa76f1
modfiied reliability branching to reuse basis from node
nguidotti 0926349
replaced mutex with a vector of mutexes
nguidotti 2c069c0
restrict reliability branching to main thread
nguidotti f043ac9
fixed unintialized pseudocost. added adaptive rule for the number of …
nguidotti 24a3838
re-enable reliability branching
nguidotti ccca7fe
setting reliable_threshold to 1
nguidotti 5f58f6d
parallelized the trial branching
nguidotti fbc17c9
added debug log
nguidotti a1eb6b8
solved early termination in CMS750_4. fixed hard coded number of thre…
nguidotti 8116fea
Merge branch 'main' into fix-bugs
nguidotti 115a0b1
silenced logs from the concurrent mode when running inside MIP. ignor…
nguidotti d50c064
Merge branch 'main' into fix-bugs
nguidotti 27d0d39
Merge branch 'fix-bugs' into reliability-branching
nguidotti c47adda
fixed merge errors
nguidotti c0422ed
fixed crash
nguidotti a0a1d93
better num thread initialization
nguidotti 9f0fe29
fix compilation
nguidotti 0dcb5ff
Merge branch 'fix-bugs' into reliability-branching
nguidotti 298c68c
moved parameters to simplex_settings. added command line option
nguidotti 8a890fd
handle cli arguments
nguidotti 2c2c515
set additional openmp flags
nguidotti e593d36
set the number of tasks for strong branching.
nguidotti aa15d8e
added additional information in the logs when solving the root relaxa…
nguidotti ce0586c
Merge branch 'fix-bugs' into reliability-branching
nguidotti d604cb6
renamed macro
nguidotti 781dd36
Merge branch 'fix-bugs' into reliability-branching
nguidotti 628c22b
changed the number of threads in probing cache
nguidotti 6956bbc
fix type
nguidotti 6bdd587
changed the logs for the root relaxation
nguidotti 6d7007c
Merge branch 'fix-bugs' into reliability-branching
nguidotti fc1c60a
limited the number of candidates for strong branching. refactoring to…
nguidotti 444b95b
removed try_lock
nguidotti 90dcdc9
removed unused settings
nguidotti 5260b51
adjusted number of workers for rb
nguidotti 87098e3
adjusting number of workers for rb
nguidotti b66ebae
fix incorrect max tasks
nguidotti 84d0567
removed ramp-up phase
nguidotti 1fdd13e
fix root relaxation message when the solution is not optimal
nguidotti 6b1bee8
Merge branch 'fix-bugs' into reliability-branching
nguidotti 66f6cfd
increase max_lookahead
nguidotti e46eba6
Merge branch 'release/26.02' into reliability-branching
nguidotti 31b5285
set the reliable threshold dynamically
nguidotti 7bac62d
fixed incorrect threshold formula. fixed time limit violation.
nguidotti a6e055c
simplified parallel loop
nguidotti de4389b
added single-threaded mode for rins and submip
nguidotti eb51080
added missing mutexes
nguidotti f3567cb
fixed empty vector in shuffle
nguidotti 233933f
reverted some code changes
nguidotti 527754c
replaced with lock_guards
nguidotti 2251b87
fixed crash
nguidotti 7919288
fixed number of threads set to 0
nguidotti cec6f38
enable reliablity branching by default
nguidotti 27ee927
set the solve mode based on the number of threads
nguidotti 71d1272
replaced locks with atomics
nguidotti 222cda0
fix pseudocost update
nguidotti 649e295
Merge branch 'release/26.02' into reliability-branching
nguidotti a53b38a
deleted assignment in omp_mutex_t to avoid double destruction.
nguidotti 0826aba
addressing reviewer comments
nguidotti 929e0b5
fix compilation
nguidotti 36b211b
additional refactoring
nguidotti 5edbfbf
variable renaming
nguidotti 2b9da53
fix compilation
nguidotti 62a058b
coderabbit suggestions
nguidotti 0f6df39
fix negative pseudocost
nguidotti 56d5ead
changed initial score
nguidotti a72c85c
adding more safeguards
nguidotti 0b14897
fix initial value
nguidotti ebe7aa3
Merge remote-tracking branch 'cuopt/release/26.02' into reliability-b…
nguidotti d65f258
renaming variables
nguidotti 725363d
split locks in pseudocost
nguidotti d1989cc
fix crash in timtab1 due to double infinite pseudocost
nguidotti 6417074
small tweaks
nguidotti e5fdae1
Merge branch 'release/26.02' into reliability-branching
nguidotti 91e0168
renamed variable
nguidotti 515d17c
fix incorrect lower bounds during the cut passes
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
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.
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.
Uh oh!
There was an error while loading. Please reload this page.