admb-project / admb

AD Model Builder
http://admb-project.org
Other
64 stars 19 forks source link

Interpreting "Step size too small" in newfmin.cpp #215

Closed jimianelli closed 2 years ago

jimianelli commented 3 years ago

As a diagnostic, it's unclear how to interpret what specific problem occurred because " goto label92;" occurs in a variety of places/errors. Perhaps adding more specific error / warning messages would help?

Cole-Monnahan-NOAA commented 2 years ago

I'm pretty sure this occurs when the optimizer stalls out. It tries to make progress but keeps rejecting and trying smaller and smaller steps (100 times smaller it appears). Presumably this happens when there's an issue with the surface geometry.

If it's an earlier phase then when it exits it restarts in the next one and the geometry changes and it may not matter. If it's in the last phase the optimizer may be close enough to the mode to get a good Hessian.

One could also use a "hess_step" to check that the final gradient can be reduced arbitrarily close to 0 if this is a concern.

In my proposed new output scheme this discussion warning gets suppressed.

Cole-Monnahan-NOAA commented 2 years ago

This is no longer displayed by default. I don't think there's anything to do so feel free to close this.