python - Does basinhopping of scipy changes stepsize randomly or adaptively, by default? -
i confused ‘take_step’ option in scipy.optimize.basinhopping:
according online reference:
the default step taking routine random displacement of coordinates ... take_step can optionally have attribute
take_step.stepsize. if attribute exists, basinhopping adjusttake_step.stepsizein order try optimize global minimum search.
according source (line 587, see below), however, scipy’s basinhopping uses adaptivestepsize default, , adjusts stepsize 0.9*stepsize or stepsize/0.9, etc., regardless of whether take_step.stepsize specified.
# use default displace = randomdisplacement(stepsize=stepsize) take_step_wrapped = adaptivestepsize(displace, interval=interval, verbose=disp) thus, understanding reading source of basinhopping is, default, procedure adaptively modify default stepsize (0.5) stepsize * factor, stepsize/factor, etc., following how many samplings have been accepted in metropolis-hasting procedure. confused because online reference of basinhopping, on other hand, seems indicate default stepsize totally random.
can clarify? if not provide take_step procedure basinhopping, try stepsize randomly, or modify stepsize adaptively? thanks.
the step size adaptively updated default. time not updated if pass custom take_step object not have attribute called stepsize
Comments
Post a Comment