[SciPy-User] fmin_bfgs failing on simple problem
Tue Apr 17 13:13:24 CDT 2012
I think the problem comes in the line search function: scalar_search_wolfe1
The step size (stp) is alternately too large (putting the suggestion point
in the bad region) or much too small (too small of a change). This seems
like it's not well suited to stiff problems. Is there a different solver
that deals well with stiff problems?
On Tue, Apr 17, 2012 at 10:35 AM, John Salvatier
> Hi all!
> I am having a problem with the fmin_bfgs solver that's surprising to me.
> Here's the toy problem I've set up:
> from scipy.optimize import fmin_bfgs, fmin_ncg
> from numpy import *
> import numpy as np
> def f(x ):
> if x < 0:
> return 1.79769313e+308
> else :
> return x + 1./x
> xs = fmin_bfgs(f, array( [10.]), retall = True)
> The solver returns [nan] as the solution.
> The problem is designed to be stiff: between 0 and 1, it slopes upward to
> infinity but between 1 and infinity, it slopes up at a slope of 1. Left of
> 0 the function has a "nearly infinite" value. If bfgs encounters a value
> that's larger than the current value, it should try a different step size,
> no? Why does fmin_bfgs fail in this way?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-User