mets::simulated_annealing Class Reference

Search by Simulated Annealing. More...

#include <mets.h>

Inherits mets::abstract_search.

Inheritance diagram for mets::simulated_annealing:

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

Collaboration graph
[legend]
List of all members.

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)
 Creates a search by simulated annealing instance.
 simulated_annealing (const simulated_annealing &)
 purposely not implemented (see Effective C++)
simulated_annealingoperator= (const simulated_annealing &)
 purposely not implemented (see Effective C++)
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
random_integer rng

Detailed Description

Search by Simulated Annealing.

Definition at line 676 of file mets.h.


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 
)

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 mest::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.

Definition at line 23 of file simulated-annealing.cc.

mets::simulated_annealing::simulated_annealing ( const simulated_annealing  ) 

purposely not implemented (see Effective C++)


Member Function Documentation

simulated_annealing& mets::simulated_annealing::operator= ( const simulated_annealing  ) 

purposely not implemented (see Effective C++)

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.

Definition at line 35 of file simulated-annealing.cc.

References mets::move_manager::begin(), mets::abstract_search::best_cost_m, mets::abstract_search::best_solution_m, cooling_schedule_m, mets::feasible_solution::cost_function(), mets::abstract_search::current_move_m, current_temp_m, mets::move_manager::end(), mets::abstract_search::moves_m, mets::subject< observed_subject >::notify(), mets::move_manager::refresh(), rng, starting_temp_m, mets::abstract_search::step_m, termination_criteria_m, and mets::abstract_search::working_solution_m.

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

The current annealing temperature.

Returns:
The current temperature of the algorithm.

Definition at line 723 of file mets.h.

References current_temp_m.

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

The annealing schedule instance.

Returns:
The cooling schedule used by this search process.

Definition at line 730 of file mets.h.

References cooling_schedule_m.


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 00:58:36 2006 for METSlib by  doxygen 1.5.1