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

Tabu Search algorithm. More...

#include <tabu-search.hh>

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

List of all members.

Public Types

enum  { ASPIRATION_CRITERIA_MET = abstract_search<move_manager_type>::LAST, LAST }
typedef tabu_search
< move_manager_type > 
search_type

Public Member Functions

const aspiration_criteria_chainget_aspiration_criteria () const
 The aspiration criteria used by this tabu search.
const tabu_list_chainget_tabu_list () const
 The tabu list used by this tabu search.
const termination_criteria_chainget_termination_criteria () const
 The termination criteria used by this tabu search.
search_typeoperator= (const search_type &)
void search () throw (no_moves_error)
 This method starts the tabu search process.
 tabu_search (feasible_solution &starting_solution, solution_recorder &best_recorder, move_manager_type &move_manager_inst, tabu_list_chain &tabus, aspiration_criteria_chain &aspiration, termination_criteria_chain &termination)
 Creates a tabu Search instance.
 tabu_search (const search_type &)
virtual ~tabu_search ()

Protected Attributes

aspiration_criteria_chainaspiration_criteria_m
tabu_list_chaintabu_list_m
termination_criteria_chaintermination_criteria_m

Detailed Description

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

Tabu Search algorithm.

This implements decorator pattern. You can build many different solvers decorating tabu_search class in different ways.

Definition at line 198 of file tabu-search.hh.


Member Typedef Documentation

template<typename move_manager_type >
typedef tabu_search<move_manager_type> mets::tabu_search< move_manager_type >::search_type

Definition at line 201 of file tabu-search.hh.


Member Enumeration Documentation

template<typename move_manager_type >
anonymous enum
Enumerator:
ASPIRATION_CRITERIA_MET 
LAST 

Placeholer for next values.

Definition at line 247 of file tabu-search.hh.


Constructor & Destructor Documentation

template<typename move_manager_type >
mets::tabu_search< move_manager_type >::tabu_search ( feasible_solution starting_solution,
solution_recorder best_recorder,
move_manager_type &  move_manager_inst,
tabu_list_chain tabus,
aspiration_criteria_chain aspiration,
termination_criteria_chain termination 
)

Creates a tabu Search instance.

Parameters:
starting_solutionThe working solution (this will be modified during search).
best_recorderA solution recorder used to record the best solution found during the search.
move_manager_instA problem specific implementation of the move_manager_type used to generate the neighborhood.
tabusThe tabu list used to decorate this search instance.
aspirationThe aspiration criteria to use in this tabu search.
terminationThe 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.
template<typename move_manager_type >
mets::tabu_search< move_manager_type >::tabu_search ( const search_type )
template<typename move_manager_type >
virtual mets::tabu_search< move_manager_type >::~tabu_search ( ) [inline, virtual]

Definition at line 235 of file tabu-search.hh.


Member Function Documentation

template<typename move_manager_type >
const aspiration_criteria_chain& mets::tabu_search< move_manager_type >::get_aspiration_criteria ( ) const [inline]

The aspiration criteria used by this tabu search.

Definition at line 258 of file tabu-search.hh.

template<typename move_manager_type >
const tabu_list_chain& mets::tabu_search< move_manager_type >::get_tabu_list ( ) const [inline]

The tabu list used by this tabu search.

Definition at line 254 of file tabu-search.hh.

template<typename move_manager_type >
const termination_criteria_chain& mets::tabu_search< move_manager_type >::get_termination_criteria ( ) const [inline]

The termination criteria used by this tabu search.

Definition at line 262 of file tabu-search.hh.

template<typename move_manager_type >
search_type& mets::tabu_search< move_manager_type >::operator= ( const search_type )
template<typename move_manager_t >
void mets::tabu_search< move_manager_t >::search ( ) throw (no_moves_error) [virtual]

This method starts the tabu search process.

Remember that this is a minimization process.

An exception mets::no_moves_error is risen when no move is possible.

Implements mets::abstract_search< move_manager_type >.

Definition at line 403 of file tabu-search.hh.


Member Data Documentation

template<typename move_manager_type >
aspiration_criteria_chain& mets::tabu_search< move_manager_type >::aspiration_criteria_m [protected]

Definition at line 265 of file tabu-search.hh.

template<typename move_manager_type >
tabu_list_chain& mets::tabu_search< move_manager_type >::tabu_list_m [protected]

Definition at line 264 of file tabu-search.hh.

template<typename move_manager_type >
termination_criteria_chain& mets::tabu_search< move_manager_type >::termination_criteria_m [protected]

Definition at line 266 of file tabu-search.hh.


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


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