[Coin-ipopt] Limit on MU
Oliveira, Ivan B
ivan.b.oliveira at intel.com
Wed Aug 3 14:49:42 EDT 2005
Hi Dominique,
> If you want to allow a smaller mu_min, you need to alter QMUERRFAC in
> PARAMS.DAT (the default value is 10) and you need, as Andreas
suggested,
> to alter update_mu.f so that the first definition of mumin is used
> instead of the second (comment out the second).
Yes, this is essentially what we did.
> This definition of mumin guarantees that once your barrier subproblem
> with mu=mumin has been solved, the final stopping test for the
original
> problem will also be satisfied (in theory, you wouldn't need the
> division by 2 but it seems to help numerically).
Quite true, but in practice we observed that - for our problems at least
- QMUERRFAC ~ O(1000) works well for us: we get better iteration count
*and* better quality of solution (slacks are driven much closer to zero
where appropriate, KKT error much smaller, etc). I guess this is a bit
atypical since we are never in the danger (thanks to our noisy function)
of getting down to machine precision.
Thanks for all the input.
--Ivan.
----------------------------
Ivan B. Oliveira
SC12-205
(408)765-0584
-----Original Message-----
From: Dominique Orban [mailto:Dominique.Orban at polymtl.ca]
Sent: Wednesday, August 03, 2005 11:32 AM
To: Oliveira, Ivan B
Cc: Andreas Waechter; Carl Damon Laird; coin-ipopt at list.coin-or.org
Subject: Re: [Coin-ipopt] Limit on MU
Oliveira, Ivan B wrote:
>Andreas - yes, the DTOL/10 limit is hard-coded into update_mu.f, and in
>fact overrides a previous statement based on QMUERRFAC (which I believe
>is currently prevented from affecting the algorithm):
>
> mumin = QTOL/(2.d0*(QMUERRFAC+1.d0))
> mumin = QTOL/10.d0
>
>
Ivan,
If you want to allow a smaller mu_min, you need to alter QMUERRFAC in
PARAMS.DAT (the default value is 10) and you need, as Andreas suggested,
to alter update_mu.f so that the first definition of mumin is used
instead of the second (comment out the second).
This definition of mumin guarantees that once your barrier subproblem
with mu=mumin has been solved, the final stopping test for the original
problem will also be satisfied (in theory, you wouldn't need the
division by 2 but it seems to help numerically).
Andreas: Since the two updates I sent you in relation to this are very
simple, you may want to incorporate them into the Fortran version of
IPOPT as well. It seems it will also be useful to others.
Dominique
More information about the Coin-ipopt
mailing list