Simulated Annealing

SimAnneal is a fitting algorithm for use with the MulRunFitter. The algorithm is based on that given in Press et al. Numerical Recipes in C. The algorithm is based on the Simplex algorithm with the addition of noise. The noise means that the algorithm explores a large region of parameter space and is less likely to get stuck in a local minimum. The amount of noise is controlled by the "Temperature" parameter (the higher the temperature, the higher the noise). The temperature is started at a high value, "Starting temperature" and is reduced by a factor "Rate of cooling" after every "Iterations per cooling step" iterations. Optionally, the lowest-ever point may be reintroduced into the Simplex (called a `restart') whenever the temperature has been reduced by a factor "Restart factor". If "Restart factor" is negative, restarting is not used.

"Alpha", "Beta" and "Gamma" control the behaviour of the Simplex. The default values should work well, but these may be tweaked for better performance. "ftol" determines when the algorithm stops. rtol is a measure of the difference between the worst and best points in the Simplex. When rtol < ftol, the algorithm stops.

This algorithm assumes that the parameters are not constrained by any limits.


Andrew Davison
Last modified: Wed Aug 1 16:40:36 EDT 2001