[Ipopt] Restoration mode

Stefan Vigerske stefan at math.hu-berlin.de
Fri Sep 14 11:01:43 EDT 2012


Hi,

there is a derivative checker in Ipopt that you might want to try out as 
well.
Of course it is possible that small differences lead to forcing Ipopt 
into restoration mode, but I think it's unlikely.
You may want to try to run the parallel code also under a tool like 
valgrind.
Finally, if you set the print level of Ipopt to a high value, you may be 
possible to see from which point on Ipopt is doing different thing and 
why it does that.

Stefan

On 09/12/2012 12:45 AM, Seth Watts wrote:
> I do not understand based on the documentation exactly what the restoration
> mode is, when Ipopt enters it, and how it exits it.
>
> Based on what I have read, Ipopt enters restoration mode when it determines
> it is in a non-feasible region, and uses a modified algorithm to attempt to
> return to a feasible region. Can anyone clarify matters further?
>
> I have two versions of my program, one which evaluates NLP functions in
> serial, and one which evaluates them in parallel. Since modifying my
> parallel version, now Ipopt enters restoration mode every time, while the
> serial version never does. Both are started with random initial parameters
> which in general do not result in a feasible starting point, but the serial
> version is always able to drive the system to a feasible state while
> reducing the cost function, all without  entering restoration mode (at
> least, no "r" is printed in the standard output).
>
> Even when fixing the seed of the random number generator to compare serial
> and parallel versions directly, the serial does not enter restoration mode
> while the parallel version does. Based on some some of the restoration mode
> options in the documentation, I think it is possible this may occur when
> the derivatives of the constraints are not correct. Comparing my serial and
> parallel results, I do have some small discrepancies, which I believe are
> due to parallel evaluation of the derivatives and the non-commutativity of
> floating point operations.
>
> Is it possible that small changes in the derivatives could force Ipopt into
> restoration mode? If so, what options would you recommend to reduce this
> behavior?
>
> Thank you,
> Seth Watts
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list