mets::simulated_annealing Class Reference
[Simulated Annealing]

#include <mets.h>

Inheritance diagram for mets::simulated_annealing:

Inheritance graph
[legend]
Collaboration diagram for mets::simulated_annealing:

Collaboration graph
[legend]
List of all members.

Detailed Description

Search by Simulated Annealing.


Public Member Functions

 simulated_annealing (feasible_solution &starting_point, feasible_solution &best_so_far, move_manager &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


Constructor & Destructor Documentation

mets::simulated_annealing::simulated_annealing ( feasible_solution starting_point,
feasible_solution best_so_far,
move_manager 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 mets::move_manager 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

const abstract_cooling_schedule& mets::simulated_annealing::cooling_schedule (  )  const [inline]

The annealing schedule instance.

Returns:
The cooling schedule used by this search process.

double mets::simulated_annealing::current_temp (  )  const [inline]

The current annealing temperature.

Returns:
The current temperature of the algorithm.

virtual void mets::simulated_annealing::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.


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

Return to METSlib home page