Conversation
|
@jajhall, @Opt-Mucca - I have made some additional changes to the code (mainly use a common code base for parts of probing and enumeration). The new version is still able to solve 6 more models to optimality within the time limit, but is now 1% faster on average. I will update this PR shortly. |
… into enumerateSolutions4
Opt-Mucca
left a comment
There was a problem hiding this comment.
I like the change and the extended probing refactor. It's now performance positive, so I'm happy to merge this whenever @fwesselm says it's ready.
Note for the future: Revisit some non-static working limits, e.g. splayContingent from probing, if we ever find an applications where this ends up taking too long (the if does seem decently heavy lifting here)
Thanks, @Opt-Mucca . I would like to try out one more potential improvement (stop search early if there are no reductions). I will report back here. |
|
I added code to remove worst-case bounds that are not tighter than global bounds while iterating. Tests showed that this additional change it is not improving performance very much (since the vectors only have relatively few elements) for MIPLIB etc. I think the code is ready to go (- I hope @Opt-Mucca and @jajhall agree -) and I plan to experiment a little more with other work limits in the future. |
This PR adds
HPresolve::enumerateSolutionsas a new presolve reduction:To do: