-
Notifications
You must be signed in to change notification settings - Fork 345
Fourier-Motzkin presolve #3191
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
fwesselm
wants to merge
237
commits into
latest
Choose a base branch
from
FMPresolve5
base: latest
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.
Open
Fourier-Motzkin presolve #3191
Changes from all commits
Commits
Show all changes
237 commits
Select commit
Hold shift + click to select a range
8db6a3d
WIP
fwesselm 98183bc
Fix format
fwesselm 8b05196
Simplify
fwesselm 4b880d5
Add comments
fwesselm 1cb0450
Use okResize
fwesselm 60a80ff
More WIP
fwesselm ee737b5
Return Result::kOk
fwesselm 6aa8fd5
WIP
fwesselm 58378c6
Re-set pointers for bound vectors
fwesselm 1774ba2
Skip deleted rows
fwesselm e1065df
WIP
fwesselm 5c1bcb6
WIP
fwesselm f4ff79e
More WIP
fwesselm 8e609db
More WIP
fwesselm 001e7aa
WIP
fwesselm 60dd349
Restarts still not working
fwesselm 2f5e5a1
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into pres…
fwesselm a6249a5
WIP
fwesselm 7fb4241
Still WIP
fwesselm dd7ba14
WIP
fwesselm d240363
Pass reference to postsolve stack to undo
fwesselm 4917aee
Still WIP
fwesselm f501b74
Undo change
fwesselm b4b501c
WIP
fwesselm cf3fb69
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into pres…
fwesselm 8c33b10
Argh, still WIP
fwesselm 8638241
WIP
fwesselm 67377ce
WIP
fwesselm f6d3ab9
WIP
fwesselm fc5da65
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into pres…
fwesselm 7708fc1
And WIP again
fwesselm 6a23105
Fix issue in unsed code
fwesselm 3ac0def
Add indicator for row type
fwesselm 37e91ef
WIP
fwesselm 8e673c3
WIP
fwesselm dc9565c
Add utility methods
fwesselm ac29c0b
Rename
fwesselm 4e9e51e
WIP
fwesselm 3fec169
Format
fwesselm 965b66a
WIP
fwesselm 96fe562
WIP
fwesselm 07e3051
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into pres…
fwesselm 9569e1e
WIP
fwesselm c1f8489
Merge branch 'presolveAddRowsDebugging7' of https://github.com/fwesse…
fwesselm 9017acb
WIP
fwesselm 195305c
Remove extra variable
fwesselm a577431
Remove debugging code
fwesselm 08b3adc
WIP
fwesselm 8a772c5
Merge branch 'latest' of https://github.com/fwesselm/HiGHS into preso…
fwesselm ca383bd
Cannot use shrinkProblem
fwesselm ed1d357
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into pres…
fwesselm ce57eea
Remove debugging code
fwesselm 39f5853
Merge branch 'presolveAddRows7' of https://github.com/fwesselm/HiGHS …
fwesselm 52ee49a
WIP
fwesselm 6fac31c
Clean up
fwesselm 678b29e
Simplify
fwesselm f3dbeb5
Heap
fwesselm 6b4922d
Resize singleEquationChecked
fwesselm 6149f99
Simplify again
fwesselm 1f74f9f
Add flag
fwesselm 032d80f
Merge branch 'fourierMotzkin2' of https://github.com/fwesselm/HiGHS i…
fwesselm 46bfd28
Add message
fwesselm de74be1
Rename
fwesselm 6a1fbdd
Merge branch 'fourierMotzkin2' of https://github.com/fwesselm/HiGHS i…
fwesselm 60fcf05
Bound handling
fwesselm 12a096d
Initialise
fwesselm 2e6786f
Add another lambda to check if column is a candidate
fwesselm 824434a
Merge branch 'fourierMotzkin2' of https://github.com/fwesselm/HiGHS i…
fwesselm 0045191
Format
fwesselm 59e3a73
Remove check
fwesselm 7e624e8
Clean up
fwesselm 394455b
Postolve
fwesselm badcf5f
WIP
fwesselm e2a84b4
WIP
fwesselm f7d8ab0
WIP
fwesselm 56c00af
WIP
fwesselm d57cbf6
WIP
fwesselm c4083f0
WIP
fwesselm a86bdff
WIP
fwesselm d025edf
WIP
fwesselm 77bf8b0
WIP
fwesselm a833703
WIP
fwesselm e16f90c
WIP
fwesselm 80d6a77
WIP
fwesselm fe3ec59
WIP
fwesselm 7973649
Remove debugging code
fwesselm 56881a6
Apply only once
fwesselm 3825291
Revert change for debugging
fwesselm dcd8dd6
Use implied bounds and remove debug print
fwesselm 21ef5a3
Fix build error
fwesselm abaa8c8
Skip cols with non-zero objective coefficient
fwesselm 9945207
Add artificial variable for objective
fwesselm 8edc1c3
WIP
fwesselm 6eb1cb2
Resize
fwesselm 00fc8f0
Fix reformulation
fwesselm 2dab50a
Fix pseudo cost
fwesselm f071113
Fix basis
fwesselm 9875e49
WIP
fwesselm bc1e474
WIP
fwesselm 5dafacd
More postsolve changes
fwesselm 34d4b29
Fix postsolve
fwesselm 5bda1d1
New lambda
fwesselm c46f1de
Simplify
fwesselm 973eb73
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm cea2bfe
Reformulate only if needed
fwesselm d4d40ed
Fix output alignment
fwesselm a6afedb
Remove extra check
fwesselm 4c32837
Enable on LPs
fwesselm 734ff6a
Clean up
fwesselm bb2faca
Use static_cast
fwesselm 58ec85c
Allow multiple rounds of FM presolve
fwesselm 4234afa
Minor changes
fwesselm a842f24
Still issues with basis postsolve
fwesselm be60813
Rework postsolve
fwesselm 39c9d79
Formatted
fwesselm e532146
Simplify
fwesselm 6a27df1
Simplify again
fwesselm f42e203
Comments
fwesselm 9533f1d
Simplify some more
fwesselm 6b1e790
Fix merge
fwesselm 52516a1
Try on LPs again
fwesselm 7064915
Fix test
fwesselm 741af63
Clean up postsolve
fwesselm 2f5bd41
Comments
fwesselm c89ad9f
Simplify postsolve and use HighsCDouble if needed
fwesselm b2afd70
Merge
fwesselm 39e7cdd
Store correct scaling
fwesselm e7f9686
Primal postsolve
fwesselm 6e1baee
Clean up some more
fwesselm bb1d471
Fix comment
fwesselm a35437b
Clean up
fwesselm d89b6ac
Comment
fwesselm 1668343
Clean up
fwesselm a5fffb9
Clean up
fwesselm 80bca3f
Primal postsolve as in paper
fwesselm 6b7ebd8
Dual postsolve fix for ranged rows
fwesselm e9cc2a4
Fix col dual
fwesselm 324c0b8
Basis postsolve again
fwesselm 242c989
Basis postsolve again
fwesselm f34c37c
Primal postsolve and FME column index changes
fwesselm 7bf2792
Modified reformulation logic
fwesselm ec5d2b1
Clean up
fwesselm 66d5f9b
Move lambda
fwesselm f8a6fa4
Basis postsolve still not working
fwesselm cb8e864
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 35568f8
Minor change
fwesselm 335f9d2
Resize vector
fwesselm 06cb5ec
Simplify some more
fwesselm 390c8fb
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 5bbd61c
Move logic to postsolve
fwesselm 5a71bfc
Comment
fwesselm 65c046b
Try to simplify a little more
fwesselm fc0aec0
Remove unused code
fwesselm e6f2874
Use checkLimits() correctly
fwesselm ee118a4
Use tolerance in primal postsolve
fwesselm 745e4b4
Merge branch 'FMPresolve3' of https://github.com/fwesselm/HiGHS into …
fwesselm b2da68c
Clean up
fwesselm 47159d8
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 26570ae
Merge branch 'FMPresolve3' of https://github.com/fwesselm/HiGHS into …
fwesselm bdcc554
Reset stale values
fwesselm 3f0aa9b
Fix sc50b
fwesselm 3a5163b
Use global bounds
fwesselm a35484a
Add postsolve handling for rows that were converted to equations
fwesselm 6b9c3ac
Cost should be zero
fwesselm 6545812
Working on basis postsolve again
fwesselm c1e721c
Basis postsolve
fwesselm bf438ad
Fix handling of ranged rows
fwesselm ac18a6b
Add an assertion
fwesselm 4a16200
Comment out assertion about numbers of rows/columns in TestCAPI
fwesselm 251d4e0
Remove unused code
fwesselm 9f2ffc7
Switch off FM for distillation LP
fwesselm c21cae6
Fix test
fwesselm 42d3c52
Mark col as deleted before removing rows
fwesselm 7cbb4de
Merge latest
fwesselm c09a170
Fix test after merge
fwesselm 6fb1ce5
Add lambda for logging
fwesselm 0bee908
Use HighsHashTable
fwesselm 77965b7
Fix log message
fwesselm fbd05e2
Switch back to unordered_map
fwesselm 60e00c6
Redundancy checks
fwesselm b3463e0
Added specific FM test to TestPresolveRules.cpp and reworded FM reduc…
c26aa4d
Merge branch 'latest' into FMPresolve4-jh
a042db8
Merged latest into this branch
a212fe3
Constructed simple example giving simplex iteration after postsolve
329f0ee
Derived failing FM postsolve test
76d3278
Cleaned up; formatted
91bdc7b
Fix check
fwesselm 0c04422
Fix basis postsolve
fwesselm 3065941
Remove debug printfs
fwesselm a626d6f
Don't run failing test
fwesselm ba41411
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm faa25be
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 38e37b5
Merge branch 'FMPresolve4-jh' of https://github.com/fwesselm/HiGHS in…
fwesselm cb347de
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 5cb87dc
Merge branch 'FMPresolve4-jh' of https://github.com/fwesselm/HiGHS in…
fwesselm 6424320
Clean up
fwesselm 32924a4
Enable test but skip PDLP
fwesselm 5b68226
Simplify
fwesselm dbe5c45
Clean up postsolve a little
fwesselm 9930679
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 04bca58
Some more postsolve cleanup
fwesselm fcb8ee3
Merge branch 'FMPresolve5' of https://github.com/fwesselm/HiGHS into …
fwesselm e865591
Fix build error
fwesselm 73dd258
Sort candidates
fwesselm 25db949
Add heap struct
fwesselm 605a097
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm a4e16ef
Move some code around
fwesselm 67a8109
Stop early
fwesselm d8fc938
Add tryFourierMotzkin flag
fwesselm 3f54fd1
Fix flag
fwesselm 90049fc
Simplify
fwesselm aefaca0
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm ca7294a
Tidy up HPresolve::dominatedColumns
fwesselm ddc8274
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 48f5384
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm f51842f
Merge with latest
fwesselm 90960f9
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm a37c797
Add option to control FM objective reformulation
fwesselm 020b59b
Add overload for getOrigColIndex and getOrigRowIndex
fwesselm 3baff29
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 6633cf7
Don't build vector of non-zero objective coefficients if it is not used
fwesselm 484a8a7
Merge branch 'FMPresolve5' of https://github.com/ERGO-Code/HiGHS into…
fwesselm 3c926e9
Clear original row index
fwesselm 94e1287
Merge branch 'FMPresolve5' of https://github.com/fwesselm/HiGHS into …
fwesselm daadc06
Fix commented out line
fwesselm 06b577d
Fix tolerance
fwesselm fa3140e
Merge
fwesselm 4b8bf3d
Merge chaser
fwesselm b98ebc4
Disable FM in presolve light mode
fwesselm cca4f83
Merge branch 'latest' of https://github.com/fwesselm/HiGHS into FMPre…
fwesselm bf3a382
Minor change; use size_t
fwesselm 2bd1e5c
Fix usage of allow_rule_
fwesselm 85e8a5f
Fix merge issue
fwesselm d939366
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm cb5d1e1
Fix another merge issues
fwesselm a6b908c
Merge branch 'FMPresolve6' of https://github.com/fwesselm/HiGHS into …
fwesselm 915b51d
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into FMPr…
fwesselm 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
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
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.
Uh oh!
There was an error while loading. Please reload this page.