Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue-1259 - HiGHS returns wrong solution #1307

Open
wants to merge 3 commits into
base: latest
Choose a base branch
from

Conversation

erdembanak
Copy link

Scaled the residual for numerical tolerance.

Fix #1259

https://github.com/ERGO-Code/HiGHS/issues/1259

Copy link
Member

@jajhall jajhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, but there's no safeguard against the case when one of lower and upper is infinite, if nothing else. I'll consider this modification in due course.

@erdembanak
Copy link
Author

I have opened it since people might want to use it and it would be easier for you to control it. But why does infinity is causing a problem? I thought residual = std::max(residual, residual_rate) fallbacks to current implementation. (There might be other problems though)

@jajhall
Copy link
Member

jajhall commented May 29, 2023

If either 'lower' or 'upper' is infinite then 'residual_range' is infinite. I don't know what 1/infinity gives with our infinity (kHighsInf). It might mean residual_rate is 0, so behaviour is unchanged, but I don't want it unguarded. I will look at this, don't worry!

@peno64
Copy link
Contributor

peno64 commented May 29, 2023

Under Windows, 1.0 / Highs_getInfinity(highs) returns 0.0

@jajhall
Copy link
Member

jajhall commented May 30, 2023

That's good to know, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants