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 | ( | ) |