-
Notifications
You must be signed in to change notification settings - Fork 115
Fix assert failure on MIP problem reducing to LP after presolve #235
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
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
32c057e
Fix assert failures on MIP problems losing their integer variables af…
aliceb-nv 731405d
fix bug causing initial solutions to be scaled regardless of setting
aliceb-nv c55e080
added test
aliceb-nv f81356d
run PDLP when MIP problem reduced to LP
aliceb-nv c20c9b5
Revert "Fix assert failures on MIP problems losing their integer vari…
aliceb-nv 1a5a7b1
Merge branch 'branch-25.08' into no-int-var-fix
aliceb-nv 79fc52c
Add CTK 12.9 fatbin flags to maintain existing binary sizes (#58)
robertmaynard a166933
Bump actions/checkout in nightly.yaml to v4 (#230)
ScottBrenner de128e9
Add helm chart for cuopt service (#224)
rgsl888prabhu 5e71185
Add nightly container support (#180)
rgsl888prabhu 159a433
run concurrent LP instead
aliceb-nv 31c84f4
Merge branch 'branch-25.08' into no-int-var-fix
aliceb-nv a5e678e
remove todo
aliceb-nv 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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| NAME LP_PROBLEM | ||
| ROWS | ||
| N OBJ | ||
| E R001 | ||
| E R002 | ||
| E R003 | ||
| L R004 | ||
| L R005 | ||
| L R006 | ||
| L R007 | ||
| COLUMNS | ||
| X001 OBJ 1.000000 | ||
| X001 R004 -1.000000 | ||
| X001 R006 -1.000000 | ||
| X002 OBJ 1.000000 | ||
| X002 R005 -1.000000 | ||
| X002 R007 -1.000000 | ||
| X003 R001 1.000000 | ||
| X003 R004 1.000000 | ||
| X003 R006 -1.000000 | ||
| X004 R002 1.000000 | ||
| X004 R005 1.000000 | ||
| X004 R007 -1.000000 | ||
| X005 R001 -1.000000 | ||
| X005 R002 -1.000000 | ||
| X005 R003 1.000000 | ||
| RHS | ||
| BOUNDS | ||
| LO BND1 X005 0.000000 | ||
| UP BND1 X005 1.000000 | ||
| BV BND1 X005 | ||
| ENDATA |
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.
Calling LP with
solve_lp_with_methodinstead ofsolve_lpmeans we would not get the initial LP problem checks and presolve being added in #234.Should we use it instead? the rest looks good to me!
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.
I also think we should be calling solve_lp and pass down the corresponding settings to use concurrent unless I missed something
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.
Problem checks should be superfluous as they're already performed on the presolved problem. Additionally, the checks in
solve_lpare only done on the original problem structure (which has already been checked at the time of calling solve_mip)solve_lprequires passing either amps_data_modelor the originaloptimization_problem_tinstead of the presolved problem, I usedsolve_lp_with_methodto avoid making changes tosolve_lp. Do you think I should add an overload instead?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.
I think another overload would over complexify things at this point. I prefer sticking with this approach. What we could do is move the try/catch and presolve in solve_lp_with_method in some other PR.