#include <mets.h>
Inherits mets::abstract_search.
Inheritance diagram for mets::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) | |
| Creates a search by simulated annealing instance. | |
| simulated_annealing (const simulated_annealing &) | |
| purposely not implemented (see Effective C++) | |
| simulated_annealing & | operator= (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_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 |
| random_integer | rng |
Definition at line 676 of file mets.h.
| 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.
| 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++)
| 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.
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.
Definition at line 730 of file mets.h.
References cooling_schedule_m.
1.5.1