#include <simulated-annealing.hh>
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_annealing & | operator= (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_schedule & | cooling_schedule () const |
The annealing schedule instance. | |
Protected Attributes | |
termination_criteria_chain & | termination_criteria_m |
abstract_cooling_schedule & | cooling_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 |
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.
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. |
const abstract_cooling_schedule& mets::simulated_annealing< move_manager_type >::cooling_schedule | ( | ) | const [inline] |
The annealing schedule instance.
double mets::simulated_annealing< move_manager_type >::current_temp | ( | ) | const [inline] |
The current annealing temperature.
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 >.
Return to METSlib home page