[Ipopt] Question about the "log" and "power" error
Stefan Vigerske
stefan at math.hu-berlin.de
Wed Jun 13 11:52:00 EDT 2012
Hi,
Ipopt relaxes the bounds slightly, probably too much for your case.
You can disable this by setting the option bounds_relax_factor to 0.
However, a bound of 0.00000001 is not much better than 0. Even though
the log can be evaluated there, the numerical behavior of the model
around this value is bad.
Stefan
On 13.06.2012 16:03, 张晨 wrote:
> Hi all:
> When I set "var a>=0.00000001 default 0.001" and solve the model by IPOPT with AMPL, IPOPT would return the error information "can't evaluate log(-3.05e-10)" (base number is very slightly less than zero) in equations including the "log(a)" term sometimes. Similarly, it would return "can't evaluate power(1.00035, 10e08)" (base number is very slightly more than 1) in equations including the "[1/(1+a)]^(10e08)" term.
>
>
> So why would this phenomenon happen? It seems that the lower bound of "a" didn't take effect. How can I avoid this error?
>
>
> Besides, if there are some terms like exp(a) or a^b (a,b are variables) in AMPL equations, do we always need to change them to the logarithm form (e.g. a^b becomes b*log(a) )? Does this reformulation do make the solving process more efficient?
>
>
> Thank you very much! Looking forward to your reply.
>
>
> Yours
> Cavern
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
More information about the Ipopt
mailing list