Classes | |
class | abstract_cooling_schedule |
Cooling criteria (for Simulated Annealing). More... | |
class | abstract_search |
An abstract search. More... | |
class | aspiration_criteria_chain |
Function object expressing an aspiration criteria. More... | |
class | best_ever_criteria |
Aspiration criteria implementation. More... | |
class | best_ever_solution |
The best ever solution recorder can be used as a simple solution recorder that just records the best copyable solution found during its lifetime. More... | |
class | clonable |
An interface for prototype objects. More... | |
class | copyable |
An interface for copyable objects. More... | |
struct | dereferenced_equal_to |
Functor class to allow hash_set of moves (used by tabu list) More... | |
class | evaluable_solution |
A copyable and evaluable solution implementation,. More... | |
class | exponential_cooling |
Original ECS proposed by Kirkpatrick. More... | |
class | feasible_solution |
interface of a feasible solution space to be searched with tabu search. More... | |
class | forever |
class | hashable |
An interface for hashable objects. More... | |
struct | improvement_logger |
class | invert_full_neighborhood |
Generates a the full subsequence inversion neighborhood. More... | |
class | invert_subsequence |
A mets::mana_move that swaps a subsequence of elements in a mets::permutation_problem. More... | |
struct | iteration_logger |
class | iteration_termination_criteria |
Termination criteria based on the number of iterations. More... | |
class | linear_cooling |
Alternative LCS proposed by Randelman and Grest. More... | |
class | local_search |
Local search algorithm. More... | |
class | mana_move |
A Mana Move is a move that can be automatically made tabu by the mets::simple_tabu_list. More... | |
class | mana_move_hash |
Functor class to allow hash_set of moves (used by tabu list) More... | |
class | move |
Move to be operated on a feasible solution. More... | |
class | move_manager |
A neighborhood generator. More... | |
class | no_moves_error |
Exception risen when some algorithm has no more moves to make. More... | |
class | noimprove_termination_criteria |
Termination criteria based on the number of iterations without an improvement. More... | |
class | observer |
Template base class for the observers of some observed_subject. More... | |
class | permutation_problem |
An abstract permutation problem. More... | |
class | printable |
An interface for printable objects. More... | |
class | search_listener |
An object that is called back during the search progress. More... | |
class | sequence |
A sequence function object useful as an STL generator. More... | |
class | simple_tabu_list |
Simplistic implementation of a tabu-list. More... | |
class | simulated_annealing |
Search by Simulated Annealing. More... | |
class | solution_recorder |
The solution recorder is used by search algorithm, at the end of each iteration, to record the best seen solution. More... | |
class | subject |
template class for subjects (cfr. Observer Design Pattern). More... | |
class | swap_elements |
A mets::mana_move that swaps two elements in a mets::permutation_problem. More... | |
class | swap_full_neighborhood |
Generates a the full swap neighborhood. More... | |
class | swap_neighborhood |
Generates a stochastic subset of the neighborhood. More... | |
class | tabu_list_chain |
An abstract tabu list. More... | |
class | tabu_search |
Tabu Search algorithm. More... | |
class | termination_criteria_chain |
Function object expressing a termination criteria. More... | |
class | threshold_termination_criteria |
Termination criteria based on cost value. More... | |
class | update_observer |
Functor class to update observers with a for_each, only intended for internal use. More... | |
Typedefs | |
typedef double | gol_type |
Type of the objective/cost function. | |
Functions | |
template<typename random_generator > | |
void | perturbate (permutation_problem &p, unsigned int n, random_generator &rng) |
Perturbate a problem with n swap moves. | |
template<typename random_generator > | |
void | random_shuffle (permutation_problem &p, random_generator &rng) |
Shuffle a permutation problem (generates a random starting point). |
typedef double mets::gol_type |