[Ipopt] Ipopt Digest, Vol 38, Issue 6

ZhangWeizhong greatzwz at hotmail.com
Wed Feb 20 10:17:27 EST 2008

Hi, all:
    I have figured it out for the initialization problem.
    But now the error is
    Invalid read of size 8
    at 0x45d6ef0: DMOC_NLP::get_bounds_info(int, double*, double*, int, double*, int, doouble*, double*)
    Address ox45d6fe4 is 4 bytes before a block of size 0 alloc'd 
   at 0x4022F14: operator new[](unsigned) (vg_replace_malloc.c:268)"e

   I do not know why?
   Because I have use   Initialize() to allocate the memory to  the variables in get_bounds_info()
   The assignment is like the following

   Anyone can help this?
  Thank you.
                            Weizhong Zhang

> From: greatzwz at hotmail.com
> To: ipopt at list.coin-or.org
> Subject: RE: Ipopt Digest, Vol 38, Issue 6
> Date: Tue, 12 Feb 2008 17:25:35 -0500
> Hi, all
>      Thank Dr Andreas for making it clear about "Hessian approximation".
>      And I have used valgrind to test my program.
>      The errors are  
>      "Conditional jump or move depends on uninitialised value(s)"
>      "Use of uninitialised value of size 4".
>      "Too few degrees of freedom (n_x = 0, n_c = 104). Trying fixed_variable_treatment = RELAX_BOUNDS"
>      My program is modified from "MyExample" from IPOPT package
>      The main program is  "dmocexample.cpp", in which it call mynlp(mynlp= new DMOC_NLP();)
>      The program which defines the methods such as get_nlp_info()  is called dmoc_nlp.cpp
>     My question is
>    " Can I initialize the variables  before "constructor" , "destructtor" and the methods in dmoc_nlp.cpp?" 
>     Or I have to initialize the variables in different functions like "get_nlp_info()" and so on?
>     It seems that I can not define the global variables in the main program"dmocexample.cpp" so that I do not have to define them in the "dmoc_nlp.cpp".  And even I initialized variables in "dmoc_nlp.cpp" outsides of the functions, it seems it is not successfully initialized.
>     Anyone can give some suggestions? Thank you so much.
>                                                                            Weizhong Zhang
>                                                                            Electrical and Computer Engieering Dept
>                                                                            University of Louisville             
> ----------------------------------------
>> From: ipopt-request at list.coin-or.org
>> Subject: Ipopt Digest, Vol 38, Issue 6
>> To: ipopt at list.coin-or.org
>> Date: Mon, 11 Feb 2008 12:00:02 -0500
>> Send Ipopt mailing list submissions to
>> 	ipopt at list.coin-or.org
>> To subscribe or unsubscribe via the World Wide Web, visit
>> 	http://list.coin-or.org/mailman/listinfo/ipopt
>> or, via email, send a message with subject or body 'help' to
>> 	ipopt-request at list.coin-or.org
>> You can reach the person managing the list at
>> 	ipopt-owner at list.coin-or.org
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of Ipopt digest..."
>> Today's Topics:
>>    1. Re: [Coin-ipopt] FW: Help on "Hessian Approximation" of my
>>       optimization problem (Andreas Waechter)
>> ----------------------------------------------------------------------
>> Message: 1
>> Date: Mon, 11 Feb 2008 11:01:45 -0500 (EST)
>> From: Andreas Waechter 
>> Subject: Re: [Ipopt] [Coin-ipopt] FW: Help on "Hessian Approximation"
>> 	of my optimization problem
>> To: ZhangWeizhong 
>> Cc: coin-ipopt at list.coin-or.org
>> Message-ID: 
>> Content-Type: text/plain; charset="x-unknown"
>> Hi,
>> 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 
>> Linux.
>> Regards,
>> Andreas
>> 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 ?????????????????????????????? ??????????????
>>> _________________________________________________________________
>>> ?????????? MSN ????????????????????
>>> http://mobile.msn.com.cn/
>> ------------------------------
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt
>> End of Ipopt Digest, Vol 38, Issue 6
>> ************************************
> _________________________________________________________________
> MSN圣诞礼物火热登场,免费发放中,快来领取吧!
> http://im.live.cn/emoticons/?ID=18


More information about the Ipopt mailing list