mets::move_manager Class Reference

Neighborhood generator. More...

#include <mets.h>

List of all members.

Public Types

typedef std::deque< move
* >::iterator 
iterator
 Iterator type to iterate over moves of the neighborhood.
typedef std::deque< move
* >::size_type 
size_type
 Size type.

Public Member Functions

 move_manager ()
 Initialize the move manager with an empty list of moves.
virtual ~move_manager ()
 Virtual destructor.
virtual void refresh (feasible_solution &sol)=0
 Called by the various search algorithms before each iteration to update the neighborhood.
virtual iterator begin ()
 Begin iterator of available moves queue.
virtual iterator end ()
 End iterator of available moves queue.
virtual size_type size () const
 Size of the neighborhood.

Protected Attributes

std::deque< move * > moves_m


Detailed Description

Neighborhood generator.

The move manager implements both Variable and Constant Neighborhoods.

To make a constant neighborhood put moves in the moves_m queue in the constructor and implement an empty refresh() method.

To make a variable neighborhood (or to selectively select feasible moves at each iteration) update the moves_m queue in the refresh() method.

Definition at line 295 of file mets.h.


Member Typedef Documentation

typedef std::deque<move*>::iterator mets::move_manager::iterator

Iterator type to iterate over moves of the neighborhood.

Definition at line 307 of file mets.h.

typedef std::deque<move*>::size_type mets::move_manager::size_type

Size type.

Definition at line 309 of file mets.h.


Constructor & Destructor Documentation

mets::move_manager::move_manager (  )  [inline]

Initialize the move manager with an empty list of moves.

Definition at line 300 of file mets.h.

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

Virtual destructor.

Definition at line 304 of file mets.h.


Member Function Documentation

virtual void mets::move_manager::refresh ( feasible_solution sol  )  [pure virtual]

Called by the various search algorithms before each iteration to update the neighborhood.

Referenced by mets::tabu_search::search(), mets::simulated_annealing::search(), and mets::local_search::search().

virtual iterator mets::move_manager::begin (  )  [inline, virtual]

Begin iterator of available moves queue.

Definition at line 318 of file mets.h.

References moves_m.

Referenced by mets::tabu_search::search(), mets::simulated_annealing::search(), and mets::local_search::search().

virtual iterator mets::move_manager::end (  )  [inline, virtual]

End iterator of available moves queue.

Definition at line 322 of file mets.h.

References moves_m.

Referenced by mets::tabu_search::search(), mets::simulated_annealing::search(), and mets::local_search::search().

virtual size_type mets::move_manager::size (  )  const [inline, virtual]

Size of the neighborhood.

Definition at line 326 of file mets.h.

References moves_m.


The documentation for this class was generated from the following file:
Generated on Tue Nov 21 00:58:29 2006 for METSlib by  doxygen 1.5.1