[Ipopt] User Teminiation during the process

Stefan Vigerske stefan at math.hu-berlin.de
Thu Apr 15 18:09:16 EDT 2010


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