[SciPy-user] step size using optimize.fmin

SimonPalmer simon.palmer@gmail....
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 mailing list