Simulated Annealing Terminology
Objective Function
The objective function is the function you want to optimize. Global Optimization Toolbox algorithms attempt to find the minimum of the objective function. Write the objective function as a file or anonymous function, and pass it to the solver as a function handle. For more information, see Compute Objective Functions and Create Function Handle.
Temperature
The temperature is a parameter in simulated annealing that affects two aspects of the algorithm:
The distance of a trial point from the current point (See Outline of the Algorithm, Step 1.)
The probability of accepting a trial point with higher objective function value (See Outline of the Algorithm, Step 2.)
Temperature can be a vector with different values for each component of the current point. Typically, the initial temperature is a scalar.
Temperature decreases gradually as the algorithm proceeds. You
can specify the initial temperature as a positive scalar or vector
in the InitialTemperature
option. You can specify
the temperature as a function of iteration number as a function handle
in the TemperatureFcn
option. The temperature is
a function of the Annealing Parameter,
which is a proxy for the iteration number. The slower the rate of
temperature decrease, the better the chances are of finding an optimal
solution, but the longer the run time. For a list of built-in temperature
functions and the syntax of a custom temperature function, see Temperature Options.
Annealing Parameter
The annealing parameter is a proxy for
the iteration number. The algorithm can raise temperature by setting
the annealing parameter to a lower value than the current iteration.
(See Reannealing.) You can specify
the temperature schedule as a function handle with the TemperatureFcn
option.
Reannealing
Annealing is the technique of closely controlling
the temperature when cooling a material to ensure that it reaches
an optimal state. Reannealing raises the temperature
after the algorithm accepts a certain number of new points, and starts
the search again at the higher temperature. Reannealing avoids the
algorithm getting caught at local minima. Specify the reannealing
schedule with the ReannealInterval
option.