pele.takestep.AdaptiveStepsizeTemperature#
- class pele.takestep.AdaptiveStepsizeTemperature(stepclass, target_new_min_prob=0.8, target_new_min_accept_prob=0.3, interval=100, Tfactor=0.95, sfactor=0.95, ediff=0.001, verbose=False)[source]#
adjust both the stepsize and the temperature adaptively
- Parameters:
- stepclass
the step taking class
- target_new_min_prob
the target probability for a step ending up in a new minimum. Used to adjust the stepsize.
- target_new_min_accept_prob
the target probability that a step that ends in a new minimum is accepted. Use to adjust the temperature
Note: the total acceptance probability is
accrat = 1 - target_new_min_prob * (1 - target_new_min_accept_prob)
so if you want a total acceptance probability of 0.5, you must choose both other probabilities accordingly
- interval
the interval at which to adjust temperature and stepsize
- Tfactor
the factor with which to multiply (or divide) the temperature
- sfactor
the factor with which to multiply (or divide) the stepsize
- ediff
if two minima have energies that are within ediff from each other then they are considered to be the same minimum
- verbose
print status messages
Notes
We will base the stepsize adjustment on the probability of ending up in a different minimum
We will base the temperature adjustment on the probability of accepting a move that ended up in a different minimum
Methods
|
Call self as a function. |
adjust the step size |
|
|
adjust the temperature |
|
|
|
scale the stepsize |
|
basinhopping calls this to take a step |
|
this is the function basinhopping uses to report results |
Attributes