[Ipopt] User Teminiation during the process

York Tang hkyork at gmail.com
Sat Apr 17 14:59:03 EDT 2010


In this intermediate callback function, how can i obtain the current
"x" (variables) ?
Thank you.


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

More information about the Ipopt mailing list