-
Notifications
You must be signed in to change notification settings - Fork 17
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
@NLconstraint(model, x^1.852 <= 1) not infeasible over |R #110
Comments
Hi @freemin7. EAGO is a deterministic global optimizer and uses the branch and bound algorithm, so one of the requirements is that
which returns:
|
I do not agree with the assessment that branch and bound is only well defined over closed and bounded sets. In addition the extended real number line which Floating Point numbers represent is a compact set. (Yes this would require a limit operation.) However those are unrelated to the underlying issue. I accept that it is your decision to only support compact intervals whose boundaries are real numbers as restriction on variables. Can something be done to give the user a better error message so the fix for this user error is obvious to other users in futures? How would you feel about the use of nextfloat and prevfloat to tighten lower or upper interval boundaries should the current interval boundary be infeasible? |
Fair points, although I am not aware of a well defined branching rule when the interval bounds contain +/- Inf. Regarding the use of nextfloat/prevfloat and large real numbers in general, further testing brought up some numerical issues in cases where there are bounds of large magnitude (>1e20), which deserves a closer look. Until those issues can be identified and resolved, I would caution against using bounds with magnitudes much greater than that. Adding in a warning seems reasonable. I'll add that in shortly, and I'll keep this issue open for addressing high-magnitude bound problems. |
Offending code:
There is nothing surprising about it failing to find a solution numerically. However that a global optimizer reports a wrong result (Infeasible) is surprising and concerning.
There is a solution, although even Mathematica has to rely on a symbolic approach.
The text was updated successfully, but these errors were encountered: