Fix edge-case assertion failures in presolve and domain propagation code#3149
Fix edge-case assertion failures in presolve and domain propagation code#3149fwesselm wants to merge 26 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## latest #3149 +/- ##
==========================================
- Coverage 73.19% 73.01% -0.19%
==========================================
Files 430 432 +2
Lines 104154 104423 +269
Branches 16738 16801 +63
==========================================
+ Hits 76239 76240 +1
- Misses 27639 27907 +268
Partials 276 276 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Would the guard alone have been sufficient to fix the bug for the issue?
I'm fine with upgrading a lot of the accumulations to HighsCDouble, but it would be nice to know what price we're paying for this extra level of safety (assuming it's well south of 0.1% and everything's fine)
Edit: Maybe wasn't clear: Happy with the PR! Just want a sanity check we haven't added meaningful overhead (I can try and do this next week)
This is motivated by #3074:
HighsCDoubleprecision for objective accumulations (avoid summing up doubles).HighsDomain::resolveLinearGeqandHighsDomain::resolveLinearLeq: Added a guard condition before dropping a bound change from the explanation to verify that the explanation remains valid.