Flow cover cuts - #2518
Conversation
…into flow-cover-cuts
…into flow-cover-cuts
|
Is this PR still active @Opt-Mucca ? |
|
@jajhall It's still active, but I've been failing to make them anything but performance neutral on-and-off for months now. @fwesselm has been benchmarking them whenever I try something new and I think the change is significant enough. |
I'm happy to keep it open, but it would be good to merge latest into it so that conflicts don't build up and have CI tests pass |
…into flow-cover-cuts
|
I'm closing this PR. I don't see this being merged anytime soon. For some reason (likely bugs or all the lifted cover cuts), HiGHS is not getting the expected performance improvement that other solvers experience. The branch should still very much stay alive, and this should be looked at again after some months. |
|
Shame, but worth a try |
This PR adds flow cover cuts to HiGHS. All logic related to the cut can be followed from the
HighsCutGeneration::tryGenerateFLowCoverCutfunction. Currently the cuts are only generated based on rows in the LP, i.e., "aggregations" of size 1.The performance results are extremely finicky, but seem to be promising, and are especially so for some network based energy problems I've been testing on. This shouldn't be merged before any additional computational experiments are done.
@galabovaa I changed the two tests because (1) the instance now solved at the root node and therefore has the optimal solution but has status
interrupted(2) the primal heuristics now jumped quicker to the optimal solution, so I had to up the objective limit to still catch the event.