[Ipopt-tickets] [Ipopt] #110: Scaling and convergence check
Ipopt
coin-trac at coin-or.org
Fri Nov 20 17:05:05 EST 2009
#110: Scaling and convergence check
--------------------------------+-------------------------------------------
Reporter: hmartin | Owner: ipopt-team
Type: defect | Status: closed
Priority: normal | Component: Ipopt
Version: 3.7 (C++ Version) | Severity: normal
Resolution: fixed | Keywords:
--------------------------------+-------------------------------------------
Changes (by andreasw):
* status: new => closed
* resolution: => fixed
Comment:
Hi Herve,
I added a new option called nlp_scaling_min_value that is now defaulted to
1e-8, to do what you suggested. I'm not 100% convinced that this is a
good idea, but I agree that scaling factors that are that extreme are not
very useful.
The idea of the gradient-based scaling is that the derivative values give
an indication of the scaling of the problem, and that it is a good idea to
have them at most of size 100. So, if there is a derivative at the
starting point that has a value of 1e16, then the assumption is that this
constraint it "overscaled" by 1e14. If this assumption is not correct,
then it does not make sense to use the gradient-based scaling method. You
should either scale your problem in the formulation and switch off the
scaling, or you can provide your own scaling parameters (as you did in
your modified hs071_cpp example).
I also fixed the printout of the "modified d_L" etc in the output, this
was indeed incorrect. But, luckily, it was only output, and did not
affect the actual computations in any way. :-)
Thanks again,
Andreas
--
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/110#comment:1>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.
More information about the Ipopt-tickets
mailing list