# ParadisEO-MOMovingObjects: moTSMoveLoopExpl< M > Class Template Reference

# moTSMoveLoopExpl< M > Class Template Reference

Explorer for a Tabu Search algorithm. More...

`#include <moTSMoveLoopExpl.h>`

Inheritance diagram for moTSMoveLoopExpl< M >:

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:

- moTSMoveLoopExpl.h