Local search algorithm. More...
#include <local-search.hh>
Public Member Functions | |
local_search (evaluable_solution &starting_point, solution_recorder &recorder, move_manager_type &moveman, gol_type epsilon=1e-7, bool short_circuit=false) | |
Creates a local search instance. | |
local_search (const local_search &) | |
purposely not implemented (see Effective C++) | |
local_search & | operator= (const local_search &) |
virtual void | search () throw (no_moves_error) |
This method starts the local search process. | |
Protected Attributes | |
gol_type | epsilon_m |
bool | short_circuit_m |
Local search algorithm.
With customary phase alternation and move managers generated neighborhood this can be used to do also a Random Restart Local Search, a Greedy Search, an Iterated Local Search and a Variable Neighborhood Search.
Definition at line 49 of file local-search.hh.
mets::local_search< move_manager_type >::local_search | ( | evaluable_solution & | starting_point, |
solution_recorder & | recorder, | ||
move_manager_type & | moveman, | ||
gol_type | epsilon = 1e-7 , |
||
bool | short_circuit = false |
||
) |
Creates a local search 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 concept used to generate the neighborhood. |
short_circuit | Wether the search should stop on the first improving move or not. |
mets::local_search< move_manager_type >::local_search | ( | const local_search< move_manager_type > & | ) |
purposely not implemented (see Effective C++)
local_search& mets::local_search< move_manager_type >::operator= | ( | const local_search< move_manager_type > & | ) |
void mets::local_search< move_manager_t >::search | ( | ) | throw (no_moves_error) [virtual] |
This method starts the local search process.
To have a real local search you should provide an move_manager_type than enumerates all feasible moves.
Implements mets::abstract_search< move_manager_type >.
Definition at line 109 of file local-search.hh.
gol_type mets::local_search< move_manager_type >::epsilon_m [protected] |
Definition at line 87 of file local-search.hh.
bool mets::local_search< move_manager_type >::short_circuit_m [protected] |
Definition at line 86 of file local-search.hh.