Classes | |
class | mets::evaluable_solution |
A copyable and evaluable solution implementation,. More... | |
class | mets::feasible_solution |
interface of a feasible solution space to be searched with tabu search. More... | |
class | mets::invert_full_neighborhood |
Generates a the full subsequence inversion neighborhood. More... | |
class | mets::invert_subsequence |
A mets::mana_move that swaps a subsequence of elements in a mets::permutation_problem. 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::move |
Move to be operated on a feasible solution. More... | |
class | mets::move_manager |
A neighborhood generator. More... | |
class | mets::permutation_problem |
An abstract permutation problem. More... | |
class | mets::swap_elements |
A mets::mana_move that swaps two elements in a mets::permutation_problem. More... | |
class | mets::swap_full_neighborhood |
Generates a the full swap neighborhood. More... | |
class | mets::swap_neighborhood< random_generator > |
Generates a stochastic subset of the neighborhood. More... | |
Functions | |
template<typename random_generator > | |
void | mets::perturbate (permutation_problem &p, unsigned int n, random_generator &rng) |
Perturbate a problem with n swap moves. | |
template<typename random_generator > | |
void | mets::random_shuffle (permutation_problem &p, random_generator &rng) |
Shuffle a permutation problem (generates a random starting point). | |
void | mets::swap_neighborhood< random_generator >::randomize_move (swap_elements &m, unsigned int size) |
void | mets::swap_neighborhood< random_generator >::refresh (mets::feasible_solution &s) |
Selects a different set of moves at each iteration. | |
mets::swap_neighborhood< random_generator >::swap_neighborhood (random_generator &r, unsigned int moves) | |
A neighborhood exploration strategy for mets::swap_elements. | |
mets::swap_neighborhood< random_generator >::~swap_neighborhood () | |
Dtor. |
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).
void mets::swap_neighborhood< random_generator >::randomize_move | ( | swap_elements & | m, |
unsigned int | size | ||
) | [protected] |
void mets::swap_neighborhood< random_generator >::refresh | ( | mets::feasible_solution & | s | ) | [virtual] |
Selects a different set of moves at each iteration.
Implements mets::move_manager.
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
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 |
mets::swap_neighborhood< random_generator >::~swap_neighborhood | ( | ) |