moTS(3)

NAME
moTS - Tabu Search (TS).

SYNOPSIS

#include <moTS.h>

Inherits moAlgo< M::EOType >.

  Public Member Functions
moTS (moMoveInit< M > &__move_init, moNextMove< M > &__next_move, moMoveIncrEval< M > &__incr_eval, moTabuList< M > &__tabu_list, moAspirCrit< M > &__aspir_crit, moSolContinue< EOT > &__cont, eoEvalFunc< EOT > &__full_eval)
Constructor of a moTS specifying all the boxes.
moTS (moMoveExpl< M > &__move_expl, moSolContinue< EOT > &__cont, eoEvalFunc< EOT > &__full_eval)
Constructor with less parameters.
bool operator() (EOT &__sol)
Function which launchs the Tabu Search.

  Private Types
typedef M::EOType EOT
Alias for the type.
typedef EOT::Fitness Fitness
Alias for the fitness.

  Private Attributes
moMoveExpl< M > & move_expl
Neighborhood explorer.
moSolContinue< EOT > & cont
Stop criterion.
eoEvalFunc< EOT > & full_eval
Full evaluation function.

  Static Private Attributes
static bool first_time = true
Boolean allowing to initialise the ptread_mutex_t in the constructor.
static pthread_mutex_t mutex
The lock.

Detailed Description

  template<class M> class moTS< M >
Tabu Search (TS). Generic algorithm that describes a tabu search.

Definition at line 30 of file moTS.h.

Constructor & Destructor Documentation

  template<class M> moTS< M >::moTS (moMoveInit< M > & __move_init, moNextMove< M > & __next_move, moMoveIncrEval< M > & __incr_eval, moTabuList< M > & __tabu_list, moAspirCrit< M > & __aspir_crit, moSolContinue< EOT > & __cont, eoEvalFunc< EOT > & __full_eval) [inline]

Constructor of a moTS specifying all the boxes.

In this constructor, a moTSMoveLoopExpl is instanciated.

Parameters:
    __move_init move initialisation
    __next_move neighborhood explorer
    __incr_eval efficient evaluation
    __tabu_list tabu list
    __aspir_crit aspiration criterion
    __cont stop criterion
    __full_eval full evaluation function

Definition at line 59 of file moTS.h.

References moTS< M >::first_time, and moTS< M >::mutex.

  template<class M> moTS< M >::moTS (moMoveExpl< M > & __move_expl, moSolContinue< EOT > & __cont, eoEvalFunc< EOT > & __full_eval) [inline]

Constructor with less parameters.

The explorer is given in the parameters.

Parameters:
    __move_expl the explorer (generally different that a moTSMoveLoopExpl)
    __cont stop criterion
    __full_eval full evaluation function

Definition at line 81 of file moTS.h.

References moTS< M >::first_time, and moTS< M >::mutex.

Member Function Documentation

  template<class M> bool moTS< M >::operator() (EOT & __sol) [inline, virtual]

Function which launchs the Tabu Search.

Algorithm of the tabu search. As a moSA or a moHC, it can be used for HYBRIDATION in an evolutionary algorithm. For security a lock (pthread_mutex_t) is closed during the algorithm.

Parameters:
    __sol a solution to improve.

Returns:
    TRUE.

Implements eoUF< M::EOType &, bool >.

Definition at line 104 of file moTS.h.

References moTS< M >::cont, moTS< M >::full_eval, moTS< M >::move_expl, and moTS< M >::mutex.

Author

Generated automatically by Doxygen for PARADISEO-MO from the source code.