[SciPy-user] step size using optimize.fmin
Sun Sep 14 05:50:45 CDT 2008
Hi, I have a weird and lumpy N-D function that I am trying to minimize
using optimize.fmin. The problem I am having is that the step size
that fmin uses is fixed and not quite big enough to move the function
value sufficiently far to examine a different "state", so the function
terminates (cleanly) presuming it is on a flat surface.
I have been looking through the code and I can't see a way of
adjusting the step size, which seem to be magic numbers in the code:
nonzdelt = 0.05
zdelt = 0.00025
I guess what I am looking for is one of:
a) a way to set these to be a slightly larger value
b) a callback to be able to adjust them if the convergence criteria
are met but nothing has changed (i.e. a flat surface)
c) a different minimmisation algorithm which has momentum
I am also contemplating
d) change my function so that it is somewhat more continuous in nature
e) hack a local copy of fmin
but I would rather not do either unless I have to.
Anyone have any recommendations?
Am I reading fmin right?
More information about the SciPy-user