[Ipopt] Suppressing warning messages

Herb Schilling hschilling at nasa.gov
Tue Sep 20 10:05:56 EDT 2011


Hi Stefan,
 
I am embarrassed to say that my code had a bug in the way it was handling the options. When I fixed my bug, setting the "suppress_all_output" option to a value of "yes" worked just fine! 

 I am sorry I put you through the trouble of trying to figure out a non-problem. 

On Sep 18, 2011, at 7:17 AM, Stefan Vigerske wrote:

> Hi,
> 
>>> I think suppress_all_output option gets active AFTER all options have
>>> been read (see IpoptApplication::Initialize(istream&)). So output caused
>>> while reading the option file are still printed.
>>> 
>>> You could try to call the IpoptApplication constructor with argument
>>> "false". Then you should have no output from the beginning on.
>>> 
>> 
>> I should explain how we are using Ipopt. First we are using the Python wrapper, Pyipopt ( http://code.google.com/p/pyipopt/ ). It uses the C interface to Ipopt. So here is sequence of calls:
>> 
>> 	1. Pyipopt calls CreateIpoptProblem
>> 
>> 	2. CreateIpoptProblem calls the constructor IpoptApplication with NO arguments. ( So unfortunately, your second idea won't work unless I modify the Ipopt code, which would be easy, but I don't want to start my own fork of Ipopt ! )
> 
> If you contribute your modifications back to Ipopt, you may not have to 
> start an own fork :-).
> E.g., a parameter to pass a user callback function for writing Ipopt 
> messages could be added to CreateIpoptProblem. If given, 
> CreateIpoptProblem could add a journal that uses this callback for 
> writing messages, instead of using the default journal.
> 
> For example, in my code I have a class MyJournal derived from 
> Ipopt:Journal which implements the PrintImpl(), PrintfImpl() and 
> FlushBufferImpl() functions. Then I do
>    ipopt = new IpoptApplication(false);
>    SmartPtr<Journal> jrnl = new MyJournal(gev, "console", 
> J_ITERSUMMARY);
>    jrnl->SetPrintLevel(J_DBG, J_NONE);
>    if( !ipopt->Jnlst()->AddJournal(jrnl) )
>       /* ERROR */
> 
> 
>> We don't read the options from a file. Rather we make calls to Pyipopt's add_XXX_option methods which in turn call Ipopt's C interface functions, AddIpoptXXXOption.
> 
> Strange that they are called AddIpoptXXXOption if they actually set an 
> option, but do not add further ones.
> 
>> I had been setting suppress_all_output to yes after all the other options had been set so I got excited that setting it first might help, but it didn't.
> 
> Maybe it works if you first set only suppress_all_output and an iterlim 
> of 0 via the AddIpoptXXXOption and call IpoptSolve(), so it calls the 
> Initialize() function and removes all journals from the 
> IpoptApplication. Afterwards you reset the iterlim to a useful value and 
> set all other options and to the normal IpoptSolver().
> I haven't tried this workaround.
> 
> Stefan
> 
>> I can dig through the Ipopt code some more but that journaling system, while it seems very powerful, is kind of hard to follow! So that's why I was hoping someone would have solved my problem before.
>> 
>> Thanks for helping.
>> 
>> 
>>> Stefan
>>> 
>>>> Hi,
>>>> 
>>>>  For the purposes of some tests, I would like to suppress all output from Ipopt. I am already setting "suppress_all_output" to "yes". But I still get messages like the three below sent to the screen. Is there an option to suppress these too?
>>>> 
>>>> ( We are making use of Ipopt in a larger system ,http://openmdao.org/ . Our tests include some intentional errors. We are checking our error handling. )
>>>> 
>>>> Thanks in advance for the help!
>>>> 
>>>> 
>>>> 1. Tried to set Option: invalid_parameter_name. It is not a valid option. Please check the list of available options.
>>>> 
>>>> 2.  Setting: "-99" is not a valid setting for Option: max_iter. Check the option documentation.
>>>> 
>>>> 3.
>>>> ### max_iter (Integer) ###
>>>> Category: Convergence
>>>> Description: Maximum number of iterations.
>>>> 0<= (3000)<= +inf
>>>> ...Warning: overflow encountered in double_scalars
>>>> _______________________________________________
>>>> Ipopt mailing list
>>>> Ipopt at list.coin-or.org
>>>> http://list.coin-or.org/mailman/listinfo/ipopt
>>>> 
>>> 
>> 
>> -----------------------
>> Herb Schilling
>> hschilling at nasa.gov
>> 
>> 
>> 
>> 
> 

-----------------------
Herb Schilling
hschilling at nasa.gov



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20110920/3d0d769f/attachment.html>


More information about the Ipopt mailing list