moTSMoveLoopExpl< M > Class Template Reference

Explorer for a Tabu Search algorithm. More...

#include <moTSMoveLoopExpl.h>

Inheritance diagram for moTSMoveLoopExpl< M >:

moMoveLoopExpl< M > moMoveExpl< M > eoBF< const M::EOType &, M::EOType &, void > eoFunctorBase

List of all members.

Public Member Functions

 moTSMoveLoopExpl (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion)
 Constructor.
void operator() (const EOT &_old_solution, EOT &_new_solution)
 Procedure which lauches the exploration.

Private Types

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

Private Attributes

moMoveInit< M > & move_initializer
 Move initialisation.
moNextMove< M > & next_move_generator
 Neighborhood explorer.
moMoveIncrEval< M > & incremental_evaluation
 Efficient evaluation.
moBestImprSelect< M > move_selection
 Move selector.
moTabuList< M > & tabu_list
 Tabu list.
moAspirCrit< M > & aspiration_criterion
 Aspiration criterion.


Detailed Description

template<class M>
class moTSMoveLoopExpl< M >

Explorer for a Tabu Search algorithm.

It is used by a moTS.

Definition at line 53 of file moTSMoveLoopExpl.h.


Constructor & Destructor Documentation

template<class M>
moTSMoveLoopExpl< M >::moTSMoveLoopExpl ( moMoveInit< M > &  _move_initializer,
moNextMove< M > &  _next_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moTabuList< M > &  _tabu_list,
moAspirCrit< M > &  _aspiration_criterion 
) [inline]

Constructor.

Parameters:
_move_initializer The move initializer.
_next_move_generator The neighbourhood explorer.
_incremental_evaluation A (generally) efficient evaluation.
_tabu_list The tabu list.
_aspiration_criterion An aspiration criterion.

Definition at line 71 of file moTSMoveLoopExpl.h.

References moTSMoveLoopExpl< M >::aspiration_criterion, and moTSMoveLoopExpl< M >::tabu_list.


Member Function Documentation

template<class M>
void moTSMoveLoopExpl< M >::operator() ( const EOT _old_solution,
EOT _new_solution 
) [inline, virtual]

Procedure which lauches the exploration.

The exploration continues while the chosen move is not in the tabu list or the aspiration criterion is true. If these 2 conditions are not true, the exploration stops if the move selector update function returns false.

Parameters:
_old_solution the initial solution
_new_solution the new solution

Implements eoBF< const M::EOType &, M::EOType &, void >.

Definition at line 90 of file moTSMoveLoopExpl.h.

References moTSMoveLoopExpl< M >::aspiration_criterion, moTSMoveLoopExpl< M >::incremental_evaluation, moTSMoveLoopExpl< M >::move_initializer, moTSMoveLoopExpl< M >::move_selection, moTSMoveLoopExpl< M >::next_move_generator, and moTSMoveLoopExpl< M >::tabu_list.


The documentation for this class was generated from the following file:
Generated on Wed Jan 16 15:50:41 2008 for ParadisEO-MOMovingObjects by  doxygen 1.5.4