[Ipopt] Warm start in Ipopt in C++
Stefan Vigerske
stefan at math.hu-berlin.de
Mon Jan 5 04:43:04 EST 2015
Hi,
I think there is nothing to save the complete Ipopt state and restart it
from there. The best you can currently do is to save primal and dual
solution vectors in the intermediate_callback function and pass them to
Ipopt again during get_starting_point.
You would also have to set the warm_start_init_point point for the
restart. Some more advice on options settings for warmstarts is given at
http://www.coin-or.org/Ipopt/documentation/node32.html. Also setting the
bound_push and bound_frac options from
http://www.coin-or.org/Ipopt/documentation/node44.html can be useful to
avoid that Ipopt pushes the starting point into the interior.
Finally, note that in the intermediate_callback, you can access the
current solution only w.r.t. the internal representation of the NLP, see
http://www.coin-or.org/Ipopt/documentation/node23.html#SECTION00053410000000000000
Hope that helps,
Stefan
On 12/31/2014 09:13 PM, Panos Lambrianides wrote:
> Hello everyone,
>
> Happy new year.
>
> I was wondering if anyone on the list would be kind enough to send me some
> sample code or point me to a sample of how to do a warm start in Ipopt
> using the C++ interface. I couldn't find anything online.
>
> I am doing large scale GPU optimization and sometimes the GPUs hang and I
> have to restart. In particular I am interested about how to save all the
> metadata so that Ipopt can restart from the latest termination point.
>
> Warmest wishes,
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
More information about the Ipopt
mailing list