ANNEAL__DEFINE Purpose
The anneal class performs simulated annealing to maximize a fitness
function. This is a little different than normal, where annealing
minimizes a penalty (or energy) function.
Simulated annealing maximizes a function by taking random steps in
parameter space from the current input. At each step, the function
to maximize is evaluated given the current input. If the input
yields a higher fitness than the previous input, it is
automatically accepted and the old input discarded. If it is lower,
than it is accepted with a probability that decreases as the
simulation continues. The process continues, drawing new random
inputs and occasionally swapping out the old inputs, until the
simulation ends. Thus, the process transitions from a random walk
to a hill-climbing algorithm; this helps prevent getting stuck at
local maxima. Category
Optimization Modification History
Feb 2010: Written by Chris Beaumont