mlpack  master
Public Member Functions | Private Attributes | List of all members
mlpack::optimization::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...
 

Private Attributes

double lambda
 The cooling speed. 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

mlpack::optimization::ExponentialSchedule::ExponentialSchedule ( const double  lambda = 0.001)
inline

Definition at line 40 of file exponential_schedule.hpp.

Member Function Documentation

double mlpack::optimization::ExponentialSchedule::Lambda ( ) const
inline

Get the cooling speed, lambda.

Definition at line 57 of file exponential_schedule.hpp.

References lambda.

double& mlpack::optimization::ExponentialSchedule::Lambda ( )
inline

Modify the cooling speed, lambda.

Definition at line 59 of file exponential_schedule.hpp.

References lambda.

double mlpack::optimization::ExponentialSchedule::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.

References lambda.

Member Data Documentation

double mlpack::optimization::ExponentialSchedule::lambda
private

The cooling speed.

Definition at line 63 of file exponential_schedule.hpp.

Referenced by Lambda(), and NextTemperature().


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