The exponential cooling schedule cools the temperature t at every step according to the equation.
ExponentialSchedule (const double lambda=0.001)
double Lambda () const
Get the cooling speed, lambda. double & Lambda ()
Modify the cooling speed, lambda. double NextTemperature (const double currentTemperature, const double)
Returns the next temperature given current status.
double lambda
The cooling speed.
The exponential cooling schedule cools the temperature T at every step according to the equation.
\[ T_{n+1} = (1-\lambda) T_{n} \]
where $ 0<\lambda<1 $ is the cooling speed. The smaller $ \lambda $ is, the slower the cooling speed, and better the final result will be. Some literature uses $ \alpha = (-1 \lambda) $ instead. In practice, $ \alpha $ is very close to 1 and will be awkward to input (e.g. alpha = 0.999999 vs lambda = 1e-6).
Definition at line 42 of file exponential_schedule.hpp.
Definition at line 50 of file exponential_schedule.hpp.
Get the cooling speed, lambda.
Definition at line 67 of file exponential_schedule.hpp.
References lambda.
Modify the cooling speed, lambda.
Definition at line 69 of file exponential_schedule.hpp.
References lambda.
Returns the next temperature given current status. The current system's energy is not used in this calculation.
Parameters:
currentTemperature Current temperature of system.
currentEnergy Current energy of system (not used).
Definition at line 59 of file exponential_schedule.hpp.
References lambda.
The cooling speed.
Definition at line 73 of file exponential_schedule.hpp.
Referenced by Lambda(), and NextTemperature().
Generated automatically by Doxygen for MLPACK from the source code.