Repository navigation
Make sure all similar magnitude values are on one side - #3575
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## latest #3575 +/- ##
=======================================
Coverage 75.70% 75.71%
=======================================
Files 461 461
Lines 114020 114012 -8
Branches 17933 17939 +6
=======================================
- Hits 86322 86319 -3
+ Misses 27410 27405 -5
Partials 288 288 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Thanks for fixing this! I initially wondered whether simply checking M <= b would be better. It leaves the full feasibility tolerance as a margin before the row could be considered violated. But I see the reasoning behind M - b <= feastol. It keeps the tolerance used throughout this code, and putting M and b on the same side avoids feastol being rounded away in b + feastol when b is large. The change makes sense to me, and I'll follow the same logic in anything I suggest from now on. |
…ge-order-dual-fix-feastol-check-fw
…ge-order-dual-fix-feastol-check
…ub.com/ERGO-Code/HiGHS into change-order-dual-fix-feastol-check
Description
This fixes #3561
The issue: We were comparing
x <= x + feastol, wherefeastolwas being swallowed by a largex. I've rearranged it tox - x <= feastol. The numerics should be a bit friendlier, and at least for this instance, it no longer returns an incorrect result. Edit: "this instance" is the one found in the issueChecklist
latestbranchRelated issue
Closes #3561