[Ipopt] User Teminiation during the process

Andreas Waechter andreasw at watson.ibm.com
Sun Apr 18 08:37:53 EDT 2010


Hi York,

Getting the x values there is not straight-forward, but possible.  They 
are stored inside the const IpoptData* ip_data object (curr()->x()), but 
possible without fixded variables (if you have any).  It's bit tricky to 
get there, but if you know C++ and look a bit around, you should be able 
to get the values.

Andreas

On Sun, 18 Apr 2010, York Tang wrote:

> Hi,
>
> In this intermediate callback function, how can i obtain the current
> "x" (variables) ?
> Thank you.
>
> York
>
>
> 2010/4/16 Stefan Vigerske <stefan at math.hu-berlin.de>:
>> Hi,
>>
>>> Because I want to add an active set mechanism with ipopt. It means i
>>> want to keep trace on each iteration of ipopt.
>>> At the beginning, I provide some basic constraints, then if I
>>> identified one iteration which do not follow some "extra" constraints
>>> (which have not added to the optimization yet), then i will add that
>>> constraint during the process (save the current points, end the
>>> current optimization, and start a new optimization with new added
>>> constraints and the saved current iteration points).
>>> The idea is to lower the number of constraints in my system.
>>>
>>> Does anyone have any experience on it? (Can it be implemented with
>>> ipopt? Do it help the optimization (speed or result)?)
>>
>> Problem may be that it may not be possible to efficiently warmstart
>> Ipopt after you added a constraint.
>>
>>> Also, if there exist a user request termination functions in ipopt? If
>>> I just end the ipopt process manually (with my coding), will it cause
>>> some memory problem?
>>
>> You should use the intermediate callback function to interrupt Ipopt,
>> see http://www.coin-or.org/Ipopt/documentation/node46.html and
>> http://www.coin-or.org/Doxygen/Ipopt/class_ipopt_1_1_t_n_l_p.html#2f962a4c43464adb7928771af84503d6
>> That way, there should be no memory problem.
>>
>> Stefan
>>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
>



More information about the Ipopt mailing list