mets Namespace Reference

METSlib Metaheuristic framework namespace. More...


Classes

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  abstract_search
 An abstract search. 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  search_listener
 An object that is called back during the search progress. More...
class  local_search
 Local search algorithm. More...
class  no_moves_error
 Exception risen when some algorithm has no more moves to make. More...
class  sequence
 A sequence function object useful as an STL generator. More...
class  clonable
 An interface for prototype objects. More...
class  hashable
 An interface for hashable objects. More...
class  copyable
 An interface for copyable objects. More...
class  printable
 An interface for printable objects. More...
class  feasible_solution
 interface of a feasible solution space to be searched with tabu search. More...
class  evaluable_solution
 A copyable and evaluable solution implementation,. More...
class  permutation_problem
 An abstract permutation problem. More...
class  move
 Move to be operated on a feasible solution. More...
class  mana_move
 A Mana Move is a move that can be automatically made tabu by the mets::simple_tabu_list. More...
class  swap_elements
 A mets::mana_move that swaps two elements in a mets::permutation_problem. More...
class  invert_subsequence
 A mets::mana_move that swaps a subsequence of elements in a mets::permutation_problem. More...
class  move_manager
 A neighborhood generator. More...
class  swap_neighborhood
 Generates a stochastic subset of the neighborhood. More...
class  swap_full_neighborhood
 Generates a the full swap neighborhood. More...
class  invert_full_neighborhood
 Generates a the full subsequence inversion neighborhood. More...
class  mana_move_hash
 Functor class to allow hash_set of moves (used by tabu list). More...
struct  dereferenced_equal_to
 Functor class to allow hash_set of moves (used by tabu list). More...
class  update_observer
 Functor class to update observers with a for_each, only intended for internal use. More...
class  subject
 template class for subjects (cfr. Observer Design Pattern). More...
class  observer
 Template base class for the observers of some observed_subject. More...
class  abstract_cooling_schedule
 Cooling criteria (for Simulated Annealing). More...
class  simulated_annealing
 Search by Simulated Annealing. More...
class  exponential_cooling
 Original ECS proposed by Kirkpatrick. More...
class  linear_cooling
 Alternative LCS proposed by Randelman and Grest. More...
class  aspiration_criteria_chain
 Function object expressing an aspiration criteria. More...
class  tabu_list_chain
 An abstract tabu list. More...
class  tabu_search
 Tabu Search algorithm. More...
class  simple_tabu_list
 Simplistic implementation of a tabu-list. More...
class  best_ever_criteria
 Aspiration criteria implementation. More...
class  termination_criteria_chain
 Function object expressing a termination criteria. More...
class  iteration_termination_criteria
 Termination criteria based on the number of iterations. More...
class  noimprove_termination_criteria
 Termination criteria based on the number of iterations without an improvement. More...
class  threshold_termination_criteria
 Termination criteria based on cost value. More...

Typedefs

typedef double gol_type
 Type of the objective/cost function.

Functions

template<typename random_generator >
void random_shuffle (permutation_problem &p, random_generator &rng)
 Shuffle a permutation problem (generates a random starting point).
template<typename random_generator >
void perturbate (permutation_problem &p, unsigned int n, random_generator &rng)
 Perturbate a problem with n swap moves.

Variables

static const double epsilon = 1e-7


Detailed Description

METSlib Metaheuristic framework namespace.

Framework for neighborhood based metaheuristics (Tabu Search, Simulated Annealing, Iterated Local Search, Random Restart Local Search).


Typedef Documentation

typedef double mets::gol_type

Type of the objective/cost function.

You should be able to change this to "int" for your uses to improve performance if it suffice, no guarantee.


Return to METSlib home page