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:- the previous temperature,
- 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.
-
-