Public Member Functions | Protected Attributes
mets::tabu_list_chain Class Reference

An abstract tabu list. More...

#include <tabu-search.hh>

Inheritance diagram for mets::tabu_list_chain:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual bool is_tabu (feasible_solution &sol, move &mov) const =0
 True if the move is tabu for the given solution.
tabu_list_chainoperator= (const tabu_list_chain &)
 purposely not implemented (see Effective C++)
virtual void tabu (feasible_solution &sol, move &mov)=0
 Make a move tabu when starting from a certain solution.
 tabu_list_chain ()
 tabu_list_chain (const tabu_list_chain &)
 purposely not implemented (see Effective C++)
 tabu_list_chain (unsigned int tenure)
 Create an abstract tabu list with a certain tenure.
 tabu_list_chain (tabu_list_chain *next, unsigned int tenure)
 Create an abstract tabu list with a certain tenure and a chained tabu list that decorates this one.
virtual unsigned int tenure () const
 Tenure of this tabu list.
virtual void tenure (unsigned int tenure)
 Tenure of this tabu list.
virtual ~tabu_list_chain ()
 Virtual destructor.

Protected Attributes

tabu_list_chainnext_m
unsigned int tenure_m

Detailed Description

An abstract tabu list.

This is chainable so that tabu lists can be decorated with other tabu lists.

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


Constructor & Destructor Documentation

purposely not implemented (see Effective C++)

mets::tabu_list_chain::tabu_list_chain ( unsigned int  tenure) [inline, explicit]

Create an abstract tabu list with a certain tenure.

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

mets::tabu_list_chain::tabu_list_chain ( tabu_list_chain next,
unsigned int  tenure 
) [inline]

Create an abstract tabu list with a certain tenure and a chained tabu list that decorates this one.

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

virtual mets::tabu_list_chain::~tabu_list_chain ( ) [inline, virtual]

Virtual destructor.

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


Member Function Documentation

bool mets::tabu_list_chain::is_tabu ( feasible_solution sol,
move mov 
) const [inline, pure virtual]

True if the move is tabu for the given solution.

Different implementation can remember "tenure" moves, "tenure" solutions or some other peculiar fact that will avoid cycling. So it's not defined at this stage if a move will be tabu or not at a certain state of the search: this depends on the implementation.

Mind you! The solution here is the solution *before* applying the move: this is for efficiency reason.

Parameters:
solThe current working solution
movThe move to make tabu

Implemented in mets::simple_tabu_list.

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

tabu_list_chain& mets::tabu_list_chain::operator= ( const tabu_list_chain )

purposely not implemented (see Effective C++)

void mets::tabu_list_chain::tabu ( feasible_solution sol,
move mov 
) [inline, pure virtual]

Make a move tabu when starting from a certain solution.

Different implementation can remember "tenure" moves, "tenure" solutions or some other peculiar fact that will avoid cycling.

Mind you! The solution here is the solution *before* applying the move: this is for efficiency reason.

Parameters:
solThe current working solution
movThe move to make tabu

Implemented in mets::simple_tabu_list.

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

virtual unsigned int mets::tabu_list_chain::tenure ( ) const [inline, virtual]

Tenure of this tabu list.

The tenure is the length of the tabu-list (the order of the tabu memory)

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

virtual void mets::tabu_list_chain::tenure ( unsigned int  tenure) [inline, virtual]

Tenure of this tabu list.

Parameters:
tenure,:the new tenure of the list.

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


Member Data Documentation

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

unsigned int mets::tabu_list_chain::tenure_m [protected]

Definition at line 187 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