[Ipopt] [Coin-ipopt] FW: Help on "Hessian Approximation" of my optimization problem

Andreas Waechter andreasw at watson.ibm.com
Mon Feb 11 11:01:45 EST 2008


It is correct that you don't need to overload the bool eval_h function if 
you want to use the quasi-Newton option of Ipopt.

But you should not change the argument list for the get_nlp_info function 
- if you do that, the Ipopt code will still try to call the original 
function, and as you saw, this doesn't work since this is then a pure 
virtual function, and you can't run the program.  Just set nnz_h_lag to 
zero in your implementation of the original method of TNLP.

As for the segmentation fault, it probably means that there is something 
wrong in the way you call Ipopt.  The easiest way to debug such memory 
problems is to use a memory checker, such as the free valgrind program for 



On Thu, 7 Feb 2008, ZhangWeizhong wrote:

>     Sorry, I forgot the detailed information
>     IPOPT version: 3.3.3
>     My computer is i686 2.6.20-16-generic, ubuntu 7.10
> From: greatzwz at hotmail.comTo: greatzwz at hotmail.comSubject: Help on 
> "Hessian Approximation" of my optimization problemDate: Wed, 6 Feb 2008 
> 16:29:04 -0500
> Hi, friends:  Sorry to bother you.  I have one problem regarding 
> "Hessian Approximation" in IPOPT application.  In the main program, the 
> option is configured as "app->Options()- 
> SetStringValue("hessian_approximation","limited-memory")".  It is 
> indicated in the menu, I do not have to implement "bool eval_h()", so I 
> commented it out in my_program.cpp and my_program.hpp.  Then my program 
> can be compiled successfully, however the resulted executable program is 
> not working, the error message is "Segmentation fault(core dumped)".  I 
> thought maybe that I did not provide the hessian informationin the 
> method "get_nlp_info(.... Index&nnz_h_lag...)". Thus I commented this 
> parameter out in my_program.cpp and my_program.hpp correspondingly. 
> Afterwards, I compiled the program. It still is successfully compiled. 
> Now when I execute it, the error message is "pure virtual method called 
> terminate called without an active exception"  I have searched the 
> websit! e, it seems all the methods I used did not include itself or 
> other methods which are not defined previously.Thus I do not know why 
> the error indicates "pure virtual method called".  If anybody can help, 
> I would appreciate that.  Thank you so much.  Weizhong Zhang > Subject: 
> Welcome to the "Coin-ipopt" mailing list (Digest mode)> From: 
> coin-ipopt-request at list.coin-or.org> To: greatzwz at hotmail.com> Date: 
> Wed, 6 Feb 2008 16:09:16 -0500> > Welcome to the 
> Coin-ipopt at list.coin-or.org mailing list!> > To post to this list, send 
> your email to:> > coin-ipopt at list.coin-or.org> > General information 
> about the mailing list is at:> > 
> http://list.coin-or.org/mailman/listinfo/coin-ipopt> > If you ever want 
> to unsubscribe or change your options (eg, switch to> or from digest 
> mode, change your password, etc.), visit your> subscription page at:> > 
> http://list.coin-or.org/mailman/options/coin-ipopt/greatzwz%40hotmail.com> 
> > > You can also!
>  make such adjustments via email by sending a message to:> > Coin-ipop
> t-request at list.coin-or.org> > with the word `help' in the subject or body (don't include the> quotes), and you will get back a message with instructions.> > You must know your password to change your options (including changing> the password, itself) or to unsubscribe. It is:> > 8686> > Normally, Mailman will remind you of your list.coin-or.org mailing> list passwords once every month, although you can disable this if you> prefer. This reminder will also include instructions on how to> unsubscribe or change your account options. There is also a button on> your options page that will email your current password to you.
> Óà Windows Live Spaces չʾ¸öÐÔ×ÔÎÒ£¬ÓëºÃÓÑ·ÖÏíÉú»î£¡ Á˽â¸ü¶àÐÅÏ¢£¡
> _________________________________________________________________
> http://mobile.msn.com.cn/

More information about the Ipopt mailing list