METSlib  0.6
Classes | Functions
Model

Classes

class  mets::feasible_solution
 interface of a feasible solution space to be searched with tabu search. More...
 
class  mets::evaluable_solution
 A copyable and evaluable solution implementation,. More...
 
class  mets::permutation_problem
 An abstract permutation problem. More...
 
class  mets::move
 Move to be operated on a feasible solution. More...
 
class  mets::mana_move
 A Mana Move is a move that can be automatically made tabu by the mets::simple_tabu_list. More...
 
class  mets::swap_neighborhood< rndgen >
 Generates a stochastic subset of the neighborhood. More...
 
class  mets::swap_elements
 A mets::mana_move that swaps two elements in a mets::permutation_problem. More...
 
class  mets::invert_subsequence
 A mets::mana_move that swaps a subsequence of elements in a mets::permutation_problem. More...
 
class  mets::move_manager
 A neighborhood generator. More...
 
class  mets::swap_full_neighborhood
 Generates a the full swap neighborhood. More...
 
class  mets::invert_full_neighborhood
 Generates a the full subsequence inversion neighborhood. More...
 

Functions

template<typename random_generator >
void mets::random_shuffle (permutation_problem &p, random_generator &rng)
 Shuffle a permutation problem (generates a random starting point). More...
 
template<typename random_generator >
void mets::perturbate (permutation_problem &p, unsigned int n, random_generator &rng)
 Perturbate a problem with n swap moves. More...
 
 mets::swap_neighborhood< rndgen >::swap_neighborhood (random_generator &r, unsigned int moves)
 A neighborhood exploration strategy for mets::swap_elements. More...
 
 mets::swap_neighborhood< rndgen >::~swap_neighborhood ()
 Dtor.
 
void mets::swap_neighborhood< rndgen >::refresh (const mets::feasible_solution &s)
 Selects a different set of moves at each iteration.
 
void mets::swap_neighborhood< rndgen >::randomize_move (swap_elements &m, unsigned int size)
 

Detailed Description

Function Documentation

template<typename random_generator >
void mets::perturbate ( permutation_problem &  p,
unsigned int  n,
random_generator &  rng 
)

Perturbate a problem with n swap moves.

See Also
mets::permutation_problem
template<typename random_generator >
void mets::random_shuffle ( permutation_problem &  p,
random_generator &  rng 
)

Shuffle a permutation problem (generates a random starting point).

See Also
mets::permutation_problem
template<typename random_generator >
mets::swap_neighborhood< random_generator >::swap_neighborhood ( random_generator &  r,
unsigned int  moves 
)

A neighborhood exploration strategy for mets::swap_elements.

This strategy selects moves random swaps

Parameters
ra random number generator (e.g. an instance of std::tr1::minstd_rand0 or std::tr1::mt19936)
movesthe number of swaps to add to the exploration

Return to METSlib home page