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_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_neighborhood< random_generator > |
Generates a stochastic subset of the neighborhood. 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). | |
template<typename random_generator > | |
void | mets::perturbate (permutation_problem &p, unsigned int n, random_generator &rng) |
Perturbate a problem with n swap moves. | |
mets::swap_neighborhood::swap_neighborhood (random_generator &r, unsigned int moves) | |
A neighborhood exploration strategy for mets::swap_elements. | |
mets::swap_neighborhood::~swap_neighborhood () | |
Dtor. | |
void | mets::swap_neighborhood::refresh (mets::feasible_solution &s) |
Selects a different set of moves at each iteration. | |
void | mets::swap_neighborhood::randomize_move (swap_elements &m, unsigned int size) |
void mets::perturbate | ( | permutation_problem & | p, | |
unsigned int | n, | |||
random_generator & | rng | |||
) |
Perturbate a problem with n swap moves.
void mets::random_shuffle | ( | permutation_problem & | p, | |
random_generator & | rng | |||
) |
Shuffle a permutation problem (generates a random starting point).
mets::swap_neighborhood< random_generator >::swap_neighborhood | ( | random_generator & | r, | |
unsigned int | moves | |||
) | [inherited] |
A neighborhood exploration strategy for mets::swap_elements.
This strategy selects *moves* random swaps
r | a random number generator (e.g. an instance of std::tr1::minstd_rand0 or std::tr1::mt19936) | |
moves | the number of swaps to add to the exploration |
Return to METSlib home page