Beim Ausführen des folgenden Codes springt der Parameter beim siebten Ausdruck des ausgewerteten Parameters (x) von etwa 100 auf 0,01, obwohl die anfängliche Schrittweite auf 0,1 und das Intervall auf 50 gesetzt ist fähig, einen Sprung zu machen, der die Schrittweite um eine so große Größe überschreitet?Scipy Bassinhopping nicht respektieren Schrittgröße?
import multiprocessing as mp
from scipy.optimize import basinhopping
def runEnvironment(x):
return x**2
def func(x):
print "x:",x
pool = mp.Pool(processes=1)
results=pool.apply(runEnvironment,(x,))
pool.close()
return results
if __name__ == '__main__':
x0=100
ret=basinhopping(func, x0, niter=100, T=1.0, stepsize=.1, minimizer_kwargs=None, take_step=None, accept_test=None, callback=None, interval=50, disp=False, niter_success=None)