mets::simulated_annealing< move_manager_type > Class Template Reference
[Simulated Annealing]

Search by Simulated Annealing. More...

#include <simulated-annealing.hh>

Inheritance diagram for mets::simulated_annealing< move_manager_type >:

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

Collaboration graph
[legend]

List of all members.

Public Types

typedef simulated_annealing
< move_manager_type > 
search_type

Public Member Functions

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

Protected Attributes

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


Detailed Description

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

Search by Simulated Annealing.

Constructor & Destructor Documentation

template<typename move_manager_type >
mets::simulated_annealing< move_manager_type >::simulated_annealing ( feasible_solution starting_point,
solution_recorder recorder,
move_manager_type &  moveman,
termination_criteria_chain tc,
abstract_cooling_schedule cs,
double  starting_temp,
double  K = 1.0 
)

Creates a search by simulated annealing instance.

Parameters:
working The working solution (this will be modified during search).
best_so_far A different solution instance used to store the best solution found.
moveman A problem specific implementation of the move_manager_type used to generate the neighborhood.
tc The termination criteria used to terminate the search process, this is an extension to the standard Simulated Annealing: you can give a termination criteria that termiantes when temperature reaches 0.
cs The annealing schedule that decorates this SA instance.
starting_temp The starting SA temperature.


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.

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.

template<typename move_manager_t >
void mets::simulated_annealing< move_manager_t >::search (  )  throw (no_moves_error) [inline, virtual]

This method starts the simulated annealing search process.

Remember that this is a minimization process.

Implements mets::abstract_search< move_manager_type >.


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

Return to METSlib home page