Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## latest #3097 +/- ##
==========================================
+ Coverage 72.89% 72.90% +0.01%
==========================================
Files 438 438
Lines 106283 106532 +249
Branches 17118 17166 +48
==========================================
+ Hits 77470 77672 +202
- Misses 28536 28583 +47
Partials 277 277 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
This was -0.5% on the larger test set and solved the same amount of instances (one or two changes between the two solved sets). I'd say this is complete noise, as was my 0.2% improvement observation. I'd therefore conclude that either this technique is not useful and its relevance is entirely SCIP specific, or we're not testing on instances where this technique shines. I'd put this PR on ice and re-evaluate it in another 6 months or a year. |
|
Shame, but was sensible to try it. |
This PR implements an iterative form of tarjans algorithm that traverses the clique table and tries to find strongly connected component, e.g. a proof that
x = y = ~z, as well as infeasible assignments, e.g.,x -> y -> ~x => x can't be true.It is first mentioned in Mixed integer programming: Analyzing 12 years of progress, albeit some improvements of the algorithm are intentionally not described in depth. The implementation is largely copied from SCIP 5.0, where it gave a ~2% performance improvement (only getting ~0.2% on my smaller test set)
Some notes:
HighsDomainandHighsCliqueTable, which will then be applied infinaliseProbing@fwesselm No rush to review this. I'd rather attention is on #2990 first.