METSlib 0.5
mets::swap_neighborhood< random_generator > Class Template Reference

Generates a stochastic subset of the neighborhood. More...

#include <model.hh>

Inheritance diagram for mets::swap_neighborhood< random_generator >:
Inheritance graph
Collaboration diagram for mets::swap_neighborhood< random_generator >:
Collaboration graph

Public Member Functions

 swap_neighborhood (random_generator &r, unsigned int moves)
 A neighborhood exploration strategy for mets::swap_elements.
 ~swap_neighborhood ()
 Dtor.
void refresh (mets::feasible_solution &s)
 Selects a different set of moves at each iteration.
Public Member Functions inherited from mets::move_manager
 move_manager ()
 Initialize the move manager with an empty list of moves.
virtual ~move_manager ()
 Virtual destructor.
iterator begin ()
 Begin iterator of available moves queue.
iterator end ()
 End iterator of available moves queue.
size_type size () const
 Size of the neighborhood.

Protected Member Functions

void randomize_move (swap_elements &m, unsigned int size)
Protected Member Functions inherited from mets::move_manager
 move_manager (const move_manager &)

Protected Attributes

random_generator & rng
std::tr1::uniform_int int_range
unsigned int n
Protected Attributes inherited from mets::move_manager
std::deque< move * > moves_m
 The moves queue.

Additional Inherited Members

Public Types inherited from mets::move_manager
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.

Detailed Description

template<typename random_generator = std::tr1::minstd_rand0>
class mets::swap_neighborhood< random_generator >

Generates a stochastic subset of the neighborhood.


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

Return to METSlib home page