## Interface SimulatedAnnealing.CoolingSchedule

• All Superinterfaces:
BiFunction<Double,​Simplex,​Double>
Enclosing class:
SimulatedAnnealing

public static interface SimulatedAnnealing.CoolingSchedule
extends BiFunction<Double,​Simplex,​Double>
Specifies the cooling schedule. It computes the current temperature as a function of two arguments:
1. the previous temperature,
2. the current simplex.
• ### Method Summary

Static Methods
Modifier and Type Method Description
static SimulatedAnnealing.CoolingSchedule aarstAndVanLaarhoven​(double delta)
Aarst and van Laarhoven (1985) scheme: $T_{i + 1} = \frac{T_{i}}{1 + \frac{T_i \ln(1 + \delta)}{3 \sigma}}$
static SimulatedAnnealing.CoolingSchedule decreasingExponential​(double f)
Power-law cooling scheme: $T_i = T_0 * f^i$, where $$i$$ is the current iteration.
• ### Methods inherited from interface java.util.function.BiFunction

andThen, apply
• ### Method Detail

• #### decreasingExponential

static SimulatedAnnealing.CoolingSchedule decreasingExponential​(double f)
Power-law cooling scheme: $T_i = T_0 * f^i$, where $$i$$ is the current iteration.

Note: Simplex argument (of the returned function) is not used.

Parameters:
f - Factor by which the temperature is decreased.
Returns:
the cooling schedule.
• #### aarstAndVanLaarhoven

static SimulatedAnnealing.CoolingSchedule aarstAndVanLaarhoven​(double delta)
Aarst and van Laarhoven (1985) scheme: $T_{i + 1} = \frac{T_{i}}{1 + \frac{T_i \ln(1 + \delta)}{3 \sigma}}$

The simplex argument is used to compute the standard deviation ($$\sigma$$) of all the vertices' objective function value.

Parameters:
delta - Trajectory parameter. Values smaller than 1 entail slow convergence; values larger than 1 entail convergence to local optimum.
Returns:
the cooling schedule.