-
Notifications
You must be signed in to change notification settings - Fork 136
Add cuts to MIP solver #599
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
Closed
Closed
Changes from 58 commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
5205471
Add constraints and adjust dual simplex to warm start from the curren…
chris-maes 0584337
Style fixes
chris-maes 74fff99
Remove debugging
chris-maes 099a1df
Merge remote-tracking branch 'cuopt-nvidia/main' into cuts
chris-maes 1882892
Fix issues in adding cuts. Add gomory cuts. Temporarily disable MIP h…
chris-maes 96ed386
Fix unit test
chris-maes 6ff7952
Fix issue when computing nonzeros in C_B
chris-maes 20b5777
Check solution values at end of unit test
chris-maes ca571a0
Enable c-MIR cuts
chris-maes 9dea7ce
Add integer infeasibility info. Remove inactive cuts. Add mip_cut_pas…
chris-maes 42af00c
Remove small coefficients from cut
chris-maes dddf42d
CI crash fixes (#691)
aliceb-nv d97ff6b
REL v25.12.00 release
AyodeAwe f341e34
Fix incorrect infeasible list
chris-maes b8e9959
Style fixes
chris-maes 3c36836
Separate out cuts logic into several classes
chris-maes 369e755
Only perform cuts on the original variables. Substitute out slack var…
chris-maes b48e05b
Knapsack cuts from before the winter break
chris-maes 78cb1dc
Turn off sub-mip. Fix edge norms which was leading to crazy depth on …
chris-maes 1e17743
Check for reduced cost variable fixings
chris-maes ec883a0
Merge remote-tracking branch 'cuopt-nvidia/main' into cuts
chris-maes 3744548
Also try to improve continuous variables with reduced cost strengthening
chris-maes f8e6fbe
Fix performance bug in set_quadratic_objective_matrix
chris-maes 6fc7e99
Fix cut scoring when keeping around old cuts that may not be violated
chris-maes 67b57c7
Reenable MIR cuts. Print out types of cut after root node.
chris-maes b704390
Fix bug in crossover leading to crash on glass-sc. Add node_limit and…
chris-maes 89dafc2
More info on primal infeasibility and trial branching
chris-maes 49bdd7f
Merge branch 'fix_incorrect_infeasible_list' into cuts
chris-maes f11838d
Add aggregation for MIR cuts
chris-maes fb85947
Fix bug in knapsack cuts
chris-maes 62606f8
Generate CG cuts. In prep for adding strong-CG cuts
chris-maes bfaf95c
Call CG cut generation from aggregation. Refactor/clean up
chris-maes be4e181
Add strong cg cuts. Clean up logs. Add timing info
chris-maes 377ffb1
Clean up disabling of MIP presolve in solver.cu. Set default max_cut_…
chris-maes 425f289
More fixes to enable cut_passes=0
chris-maes 98a8c57
Re-enable RINS
chris-maes a2b845d
Re-enable sub-MIP
chris-maes 94a191f
Swap exit for assert in basis_updates
chris-maes 1f09143
Merge in main. Make B&B time consecutive. Print Papilo hash. Print cu…
chris-maes 8635cc3
Fix an issue with crossover. Add options to turn off individual cuts
chris-maes daeaba8
Revert "Prepare release/26.02"
AyodeAwe 29e4797
Update to 26.04.00 (#788)
AyodeAwe 34513c5
Merge pull request #789 from NVIDIA/release/26.02
GPUtester 61e5a2c
Fix bugs in concurrent root relaxation and phase2
chris-maes 8b9225a
Merge remote-tracking branch 'cuopt-nvidia/main' into cuts
chris-maes 2c68d94
Fix issue in strong CG where rocI-4-11 was incorrectly declared infea…
chris-maes 89d73e7
Declare optimal in cut passes if abs/rel gap satisified. Clean up cut…
chris-maes 5954aa0
Be more conservative with the strong-CG cut to avoid wrong answer on …
chris-maes 350e0a7
Silence warning about negative lower bounds
chris-maes 121af29
Silence MIR aggregation count
chris-maes 59d4ac0
Fix bug in MIR cut generation when slack variable had negative coeffi…
chris-maes c52b065
Same bug with MIR inequalities and ranged rows. Another fix
chris-maes 7baff43
Fix bug in edge case for computing k in strong CG cuts
chris-maes 6c2f5f4
Don't clear edge norms. Print out timing info
chris-maes b5bbd3e
Check that the tableau equality holds after dropping small coefficients
chris-maes 2d54a9d
Merge remote-tracking branch 'cuopt-nvidia/release/26.02' into cuts
chris-maes ca4108f
Restore changes from main -> 26.02
chris-maes 392338a
Reduced cost strengthening during cut passes and after strong branchi…
chris-maes cf23f6f
Don't miss the first opportuntity to apply reduced cost strengthening
chris-maes ac0fdf1
Handle missing rc after adding slacks from cuts
chris-maes 75dc6e5
Add option for min orthogonality. Stop cut passes after first round
chris-maes b5345ec
Fix issue in MIR aggregation. Fix mutex. Disable debug code. Remove r…
chris-maes cc60651
Style fixes
chris-maes da36c56
More clean up
chris-maes a043f6d
Kahan Summation for N^T y in Gomory. CodeRabbit review fixs.
chris-maes a85361b
Silence cut age
chris-maes f22c49c
Style fixes
chris-maes 43be050
Merge remote-tracking branch 'cuopt-nvidia/release/26.02' into cuts
chris-maes 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.
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.
Must be removed before merging