Public Member Functions | Protected Attributes
mets::local_search< move_manager_type > Class Template Reference

Local search algorithm. More...

#include <local-search.hh>

Inheritance diagram for mets::local_search< move_manager_type >:
Inheritance graph

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

gol_type epsilon_m
bool short_circuit_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.

Definition at line 49 of file local-search.hh.

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.

workingThe working solution (this will be modified during search)
best_so_farA different solution instance used to store the best solution found
movemanA problem specific implementation of the move_manager_type concept used to generate the neighborhood.
short_circuitWether the search should stop on the first improving move or not.
template<typename move_manager_type >
mets::local_search< move_manager_type >::local_search ( const local_search< move_manager_type > &  )

purposely not implemented (see Effective C++)

Member Function Documentation

template<typename move_manager_type >
local_search& mets::local_search< move_manager_type >::operator= ( const local_search< move_manager_type > &  )
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 >.

Definition at line 109 of file local-search.hh.

Member Data Documentation

template<typename move_manager_type >
gol_type mets::local_search< move_manager_type >::epsilon_m [protected]

Definition at line 87 of file local-search.hh.

template<typename move_manager_type >
bool mets::local_search< move_manager_type >::short_circuit_m [protected]

Definition at line 86 of file local-search.hh.

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

Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:38:54