Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
mets::move_manager Class Reference

A neighborhood generator. More...

#include <model.hh>

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

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

iterator begin ()
 Begin iterator of available moves queue.
iterator end ()
 End iterator of available moves queue.
 move_manager ()
 Initialize the move manager with an empty list of moves.
virtual void refresh (mets::feasible_solution &s)=0
 Selects a different set of moves at each iteration.
size_type size () const
 Size of the neighborhood.
virtual ~move_manager ()
 Virtual destructor.

Protected Member Functions

 move_manager (const move_manager &)

Protected Attributes

std::deque< move * > moves_m
 The moves queue.

Detailed Description

A neighborhood generator.

This is a sample implementation of the neighborhood exploration concept. You can still derive from this class and implement the refresh method, but, since version 0.5.x you don't need to.

To implement your own move manager you should simply adhere to the following concept:

provide an iterator, and size_type types, a begin() and end() method returning iterators to a move collection. The switch to a template based move_manager was made so that you can use any iterator type that you want. This allows, between other things, to implement intelligent iterators that dynamically return moves.

The move manager can represent both Variable and Constant Neighborhoods.

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

Definition at line 507 of file model.hh.


Member Typedef Documentation

Iterator type to iterate over moves of the neighborhood.

Definition at line 525 of file model.hh.

Size type.

Definition at line 528 of file model.hh.


Constructor & Destructor Documentation

Initialize the move manager with an empty list of moves.

Definition at line 512 of file model.hh.

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

Virtual destructor.

Definition at line 517 of file model.hh.


Member Function Documentation

Begin iterator of available moves queue.

Definition at line 531 of file model.hh.

End iterator of available moves queue.

Definition at line 535 of file model.hh.

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

Selects a different set of moves at each iteration.

Implemented in mets::invert_full_neighborhood, mets::swap_full_neighborhood, and mets::swap_neighborhood< random_generator >.

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

Size of the neighborhood.

Definition at line 539 of file model.hh.


Member Data Documentation

std::deque<move*> mets::move_manager::moves_m [protected]

The moves queue.

Definition at line 543 of file model.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