[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