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.

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.

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.

*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.

Was this topic helpful?