mlpack  git-master
ExponentialSchedule Class Reference

The exponential cooling schedule cools the temperature T at every step according to the equation. More...

Public Member Functions

 ExponentialSchedule (const double lambda=0.001)
 
double Lambda () const
 Get the cooling speed, lambda. More...

 
double & Lambda ()
 Modify the cooling speed, lambda. More...

 
double NextTemperature (const double currentTemperature, const double)
 Returns the next temperature given current status. More...

 

Detailed Description

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 32 of file exponential_schedule.hpp.

Constructor & Destructor Documentation

◆ ExponentialSchedule()

ExponentialSchedule ( const double  lambda = 0.001)
inline

Definition at line 40 of file exponential_schedule.hpp.

Member Function Documentation

◆ Lambda() [1/2]

double Lambda ( ) const
inline

Get the cooling speed, lambda.

Definition at line 57 of file exponential_schedule.hpp.

◆ Lambda() [2/2]

double& Lambda ( )
inline

Modify the cooling speed, lambda.

Definition at line 59 of file exponential_schedule.hpp.

◆ NextTemperature()

double NextTemperature ( const double  currentTemperature,
const double   
)
inline

Returns the next temperature given current status.

The current system's energy is not used in this calculation.

Parameters
currentTemperatureCurrent temperature of system.
currentEnergyCurrent energy of system (not used).

Definition at line 49 of file exponential_schedule.hpp.


The documentation for this class was generated from the following file: