Error evaluating objective function #817
Unanswered
fgallagher27
asked this question in
Q&A
Replies: 1 comment 2 replies
-
Ipopt relaxes given variable bounds by a small amount (option bound_relax_factor), but this should not move a lower bound of 1e-6 below 0. By default, it should just move to 1e-6 - 1e-14. So I cannot say why it evaluates at -3e-6. You could increase the print_level to see what iterate Ipopt is currently looking at, e.g., the values of a and b. If you didn't add |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have a pyomo model using ipopt to solve and an objective function that sums over some indexes. Within the sum, it calculates
(a * b * c) ** d
.a, b, c
are all positive (a,b
are pyomo variables withDomain=pyo.PositiveReals
and an additional constrainta,b >= 1e-6
.c
is a positive parameter.d
is a constant parameter currently set to1.5
. I do not want to have to set this to be a positive integer as there is no theoretical justification for this in my context.For some parameter values and therefore model guesses, ipopt fails to solve and throws the error
Error evaluating objective function: can't evaluate pow(-3.17431e-06,1.5)
. I have interpreted this as an error being triggered because a negative value to the power of 1.5 is undefined.Given all the elements of my objective function have to be positive, how has this evaluation occurred and is there a numerical tolerance option I can use to avoid this?
Thanks very much.
Beta Was this translation helpful? Give feedback.
All reactions