[Coin-ipopt] Problem With NL Problem With > 100 Variables

Jacob C. jacobcdf at yahoo.com
Fri Apr 13 02:03:38 EDT 2007

HI Carl,
 First off thanks very much for the reply. Looks like I'm really getting my omoney's worth with that IPOPT support contract. ;)

I've actually already set >>option ipopt_options "halt_on_ampl_error=yes"<< and the output below includes this. Doesn't provide any elcuidation unfortunately. Still your point about --enable-doscompile under cygwin is very well-taken and I will certainly get on that tomorrow as the next step.
My objective function includes a sum of logs but all variables are (in theory at least) well-bounded. What seems suspect are that 1) the problem solves in MINOS, and 2) the difficulty only starts occurring at right about the 100 variable level.

And again, I thank you very much for your help.

Carl Laird <carl.d.laird at gmail.com> wrote:This type of error happens when there is a numerical evaluation
problem in AMPL (i.e. a constraint evaluates to infinity or NaN, sqrt
of a negative number, etc). You can add the following option to the
AMPL .mod file

   option ipopt_options "halt_on_ampl_error=yes"

before the solve call. This will instruct AMPL to halt when it detects
an evaluation error and give some more details about the problem. It
looks like Ipopt is complaining about an infinite value coming from
the objective function evaluation, and setting the above option should
give more detailed information. The halt_on_ampl_error option is
particularily useful when the problem is with a constraint since it
causes AMPL to indicate which constraint was at fault.

This type of error typically happens to me when I have expressions
like exp(x) in my functions and I haven't limited x in any way.
Depending on the problem, x could become very large as it iterates and
cause an evaluation error.

One final comment. When I compile in CYGWIN, I have to configure ipopt
with the --enable-doscompile option otherwise I have problems reading
options from AMPL. So, before you try the halt_on_ampl_error option,
make sure you configure with this option.

Hope this helps,


On 4/12/07, Jacob C.  wrote:
> Running 3.2.3 on XP compiled with default under cygwin through AMPL.
> It seems that when I hit roughly 100 variables IPOPT spits out the following
> (halt_on_ampl_error set to TRUE):
> EXIT: Invalid number in NLP function or derivative detected.
> Error in an AMPL evaluation. Run with "halt_on_ampl_error yes" to see
> details.
> Exception of type: Eval_Error in file "IpOrigIpoptNLP.cpp" at line 403:
>  Exception message: success && IsFiniteNumber(ret) evaluated false: Error
> evaluating the objective function
> EXIT: Some uncaught Ipopt exception encountered.
> can't open at1564.sol
> -----------------------------
> I'm very much a beginner and have little where to even start tracking this
> down. FWIW, the problem runs smoothly with MINOS 5.5. Will provide the model
> upon request.
> Thanks,
> Jac.
>  ________________________________
>  Don't get soaked. Take a quick peak at the forecast
>  with theYahoo! Search weather shortcut.
> _______________________________________________
> Coin-ipopt mailing list
> Coin-ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-ipopt

Don't be flakey. Get Yahoo! Mail for Mobile and 
always stay connected to friends.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/ipopt/attachments/20070412/977be302/attachment.html 

More information about the Coin-ipopt mailing list