Public Types | Public Member Functions | Protected Attributes
mets::simulated_annealing< move_manager_type > Class Template Reference

Search by Simulated Annealing. More...

#include <simulated-annealing.hh>

Inheritance diagram for mets::simulated_annealing< move_manager_type >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef simulated_annealing
< move_manager_type > 
search_type

Public Member Functions

const abstract_cooling_schedulecooling_schedule () const
 The annealing schedule instance.
double current_temp () const
 The current annealing temperature.
simulated_annealingoperator= (const simulated_annealing &)
virtual void search () throw (no_moves_error)
 This method starts the simulated annealing search process.
void setApplyAndEvaluate (bool b)
 simulated_annealing (evaluable_solution &starting_point, solution_recorder &recorder, move_manager_type &moveman, termination_criteria_chain &tc, abstract_cooling_schedule &cs, double starting_temp, double stop_temp=1e-7, double K=1.0)
 Creates a search by simulated annealing instance.
 simulated_annealing (const simulated_annealing &)
 purposely not implemented (see Effective C++)

Protected Attributes

bool apply_and_evaluate
abstract_cooling_schedulecooling_schedule_m
double current_temp_m
std::tr1::variate_generator
< std::tr1::mt19937,
std::tr1::uniform_real< double > > 
gen
double K_m
std::tr1::mt19937 rng
double starting_temp_m
double stop_temp_m
termination_criteria_chaintermination_criteria_m
std::tr1::uniform_real< double > ureal

Detailed Description

template<typename move_manager_type>
class mets::simulated_annealing< move_manager_type >

Search by Simulated Annealing.

Definition at line 72 of file simulated-annealing.hh.


Member Typedef Documentation

template<typename move_manager_type>
typedef simulated_annealing<move_manager_type> mets::simulated_annealing< move_manager_type >::search_type

Definition at line 75 of file simulated-annealing.hh.


Constructor & Destructor Documentation

template<typename move_manager_type>
mets::simulated_annealing< move_manager_type >::simulated_annealing ( evaluable_solution starting_point,
solution_recorder recorder,
move_manager_type &  moveman,
termination_criteria_chain tc,
abstract_cooling_schedule cs,
double  starting_temp,
double  stop_temp = 1e-7,
double  K = 1.0 
)

Creates a search by simulated annealing instance.

Parameters:
workingThe working solution (this will be modified during search).
recorderA solution recorder (possibly holding a different solution instance) used to record the best solution found.
movemanA problem specific implementation of the move_manager_type used to generate the neighborhood (the choice of the neighbourhood and its exploration greatly influences the algorithm quality and speed).
tcThe termination criteria used to terminate the search process, this is an extension to the standard Simulated Annealing: the algorithm terminates either when the termination criterion is met or when the temperature is <= 0.
csThe annealing schedule that will be used by the algorithm to regulate the temperature at each iteration (many have been proposed in literature and influence the quality and speed of the algorithm).
starting_tempThe starting SA temperature (this is an important parameter that depends on the problem and will influence the search quality and duration).
KThe "Boltzmann" constant that we want ot use (default is 1).
template<typename move_manager_type>
mets::simulated_annealing< move_manager_type >::simulated_annealing ( const simulated_annealing< move_manager_type > &  )

purposely not implemented (see Effective C++)


Member Function Documentation

template<typename move_manager_type>
const abstract_cooling_schedule& mets::simulated_annealing< move_manager_type >::cooling_schedule ( ) const [inline]

The annealing schedule instance.

Returns:
The cooling schedule used by this search process.

Definition at line 142 of file simulated-annealing.hh.

template<typename move_manager_type>
double mets::simulated_annealing< move_manager_type >::current_temp ( ) const [inline]

The current annealing temperature.

Returns:
The current temperature of the algorithm.

Definition at line 135 of file simulated-annealing.hh.

template<typename move_manager_type>
simulated_annealing& mets::simulated_annealing< move_manager_type >::operator= ( const simulated_annealing< move_manager_type > &  )
template<typename move_manager_t >
void mets::simulated_annealing< move_manager_t >::search ( ) throw (no_moves_error) [virtual]

This method starts the simulated annealing search process.

Remember that this is a minimization process.

Implements mets::abstract_search< move_manager_type >.

Definition at line 223 of file simulated-annealing.hh.

template<typename move_manager_type>
void mets::simulated_annealing< move_manager_type >::setApplyAndEvaluate ( bool  b) [inline]

Definition at line 127 of file simulated-annealing.hh.


Member Data Documentation

template<typename move_manager_type>
bool mets::simulated_annealing< move_manager_type >::apply_and_evaluate [protected]

Definition at line 167 of file simulated-annealing.hh.

template<typename move_manager_type>
abstract_cooling_schedule& mets::simulated_annealing< move_manager_type >::cooling_schedule_m [protected]

Definition at line 147 of file simulated-annealing.hh.

template<typename move_manager_type>
double mets::simulated_annealing< move_manager_type >::current_temp_m [protected]

Definition at line 150 of file simulated-annealing.hh.

template<typename move_manager_type>
std::tr1::variate_generator< std::tr1::mt19937, std::tr1::uniform_real<double> > mets::simulated_annealing< move_manager_type >::gen [protected]

Definition at line 164 of file simulated-annealing.hh.

template<typename move_manager_type>
double mets::simulated_annealing< move_manager_type >::K_m [protected]

Definition at line 151 of file simulated-annealing.hh.

template<typename move_manager_type>
std::tr1::mt19937 mets::simulated_annealing< move_manager_type >::rng [protected]

Definition at line 163 of file simulated-annealing.hh.

template<typename move_manager_type>
double mets::simulated_annealing< move_manager_type >::starting_temp_m [protected]

Definition at line 148 of file simulated-annealing.hh.

template<typename move_manager_type>
double mets::simulated_annealing< move_manager_type >::stop_temp_m [protected]

Definition at line 149 of file simulated-annealing.hh.

template<typename move_manager_type>
termination_criteria_chain& mets::simulated_annealing< move_manager_type >::termination_criteria_m [protected]

Definition at line 146 of file simulated-annealing.hh.

template<typename move_manager_type>
std::tr1::uniform_real<double> mets::simulated_annealing< move_manager_type >::ureal [protected]

Definition at line 162 of file simulated-annealing.hh.


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


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:38:54