Public Member Functions | Protected Attributes

mets::local_search< move_manager_type > Class Template Reference
[Local Search]

Local search algorithm. More...

#include <local-search.hh>

Inheritance diagram for mets::local_search< move_manager_type >:
Inheritance graph
[legend]
Collaboration diagram for mets::local_search< move_manager_type >:
Collaboration graph
[legend]

List of all members.

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_searchoperator= (const local_search &)
virtual void search () throw (no_moves_error)
 This method starts the local search process.

Protected Attributes

bool short_circuit_m
gol_type epsilon_m

Detailed Description

template<typename move_manager_type>
class mets::local_search< move_manager_type >

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.


Constructor & Destructor Documentation

template<typename move_manager_type >
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.

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 move_manager_type concept used to generate the neighborhood.
short_circuit Wether the search should stop on the first improving move or not.

Member Function Documentation

template<typename move_manager_t >
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 >.


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

Return to METSlib home page