[Ipopt] Adaptive mu update / degenerate problems
Andreas Waechter
andreasw at watson.ibm.com
Wed Jul 8 17:25:13 EDT 2009
Hi Herve,
Thanks for your message. (I also just answers your ticket regarding the
CG penalty algorithm - sorry it took a while to respond.)
> I have two questions regarding the use of Ipopt, which I
> hope someone can answer.
>
> The first one concerns the adaptive mu update. I found it a
> good option, as it tends to reduce the number of nonlinear
> iterations compared to the monotone update. As I solve a
> problem on which the constraints are expensive to calculate,
> this is very important.
Great to hear that. This was the goal of this option, and I'm very happy
to hear that this seems to work for you.
> However, I saw in the implementation
> paper that the minimum mu is set to tol/10 with the monotone
> update, whereas it is 1e-11 (mu_min) for the adaptive
> option. Why is it different? Knowing that I use 1e-6 as
> tolerance with Ipopt, should I increase the option mu_min
> (since then mu would converge to 1e-7 with the monotone update)?
Well, the minimal values are somewhat arbitrary. I don't have good
arguments for one or the other. If the final mu is smaller, it means that
your complementarity conditions more likely solved to a very tight
tolerance, but it might also make it harder to take large steps without
bumping into the bounds. In the adaptive mu case, choosing a very small
value of mu_min is not so harmful, since the method will still try to find
a value of mu which allows longer steps and might pick something larger
than mu_min, whereas in the monotne method, the value would be fixed, so
choosing it very small might not allow large steps before bumping into
bounds. I guess this was more or less what went through my mind when I
did this.
> My second questions is about degenerate jacobians. In my
> problem, it can happen than the jacobian becomes degenerate
> (this a which is really hard to solve by modifying the
> model). In this case Ipopt has trouble to converge and even
> sometimes diverge. I saw that with the option
> always_pertub_cd, I can activate permanently the heuristics
> to handle degenerate jacobians, which seems to solve most of
> my divergence issues. Are there undesirable side effects to
> this option? Should I let it always activated and play
> further with the jacobian regularization values?
I don't have too much experience with this situation. I could imaging
that a disadvantage of using always_pertub_cd always is that sometimes
Ipopt might not be able to converge (e.g., when the multiplers become
large, which is likely for degenerate problems, and then that perturbation
generates search directions that don't satisfy the linearization of the
constraints, and that it might be difficult to find a feasible point, or
the line search fails...). However, if for you it seems that the
algorithm does converge, using this option is probably a good choice.
(Some time ago, I added some code that would try to identify at the very
beginning the constraints that are redundant, and they would be removed
from the problem statement that Ipopt sees, but this did not work very
well, so I didn't follow up on this, and this version of the code for
example does not check if the final point is actually feasible w.r.t. the
constraints that were ignored. This is the unsupported, undocumented
dependency_detector option. It's in the code, so you could try it if you
want, but I won't be able to help with that :-) ).
Hope this helps,
Andreas
>
> Thanks in advance for any help
> Hervé
>
>
>
>
>
>
>
>
>
>
>
> ---------------------- ALICE N°1 de la RELATION CLIENT 2008*--------------------
> Découvrez vite l'offre exclusive ALICE BOX! En cliquant ici http://abonnement.aliceadsl.fr Offre soumise à conditions.*Source : TNS SOFRES / BEARING POINT. Secteur Fournisseur d.Accès Internet
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
>
>
More information about the Ipopt
mailing list