[Ipopt] An eval fucntion return value question

Andreas Waechter andreasw at watson.ibm.com
Tue Feb 2 12:22:10 EST 2010


Hi Brad,

I guess it's a bit hidden:

http://www.coin-or.org/Ipopt/documentation/node33.html

In an evaluation function you should always return true, unless the 
function or gradient could not be evaluated (e.g., division by zero, 
square-root of a negative number, etc)

Hope this helps

Andreas

On Tue, 26 Jan 2010, Brad Bell wrote:

> If you look at the documentation for the eval_f procedure (current on
> the web page)
>     http://www.coin-or.org/Ipopt/documentation/node37.html
> You will see that eval_f returns a boolean. I have not been able to find
> the documentation for the meaning of this flag.
>
> If you look at the source code in Algorithm/IpOrigIpoptNLP.cpp, you will see
>       bool success = nlp_->Eval_f(*unscaled_x, ret);
>       f_eval_time_.End();
>       DBG_PRINT((1, "success = %d ret = %e\n", success, ret));
>       ASSERT_EXCEPTION(success && IsFiniteNumber(ret), Eval_Error,
>                        "Error evaluating the objective function");
>
> It appears to me that if the return flag from eval_f is false, Ipopt
> will abort. Is this correct ?
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list