- Main Page
- Classes
- Files

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# moSimpleMoveTabuList< M > Class Template Reference

Class describing a move tabu list with a limited memory. More...

`#include <moSimpleMoveTabuList.h>`

Inheritance diagram for moSimpleMoveTabuList< M >:

List of all members.

## Public Types
typedef M::EOType | EOT
| Alias for the type.
## Public Member Functions
| moSimpleMoveTabuList (unsigned int __size)
| Constructor.
bool | operator() (const M &__move, const EOT &__sol)
| Function that indicates if, in a given state, the _move is tabu or not.
void | add (const M &__move, const EOT &__sol)
| Procedure to add a move in the tabu list.
void | update ()
| Procedure that updates the tabu list content.
void | init ()
| Procedure which initialises the tabu list.
## Private Member Functions
void | removeMove (const M &__move)
| Procedure that removes a given move from the tabu list (if it is into, else do nothing).
## Private Attributes
unsigned int | maxSize
| The maximum size of the tabu list.
unsigned int | currentSize
| The current size of the tabu list.
std::list< M > | tabuList
| The move tabu list.

## Detailed Description

### template<class M>
class moSimpleMoveTabuList< M >

Class describing a move tabu list with a limited memory.

Definition at line 22 of file moSimpleMoveTabuList.h.

## Member Function Documentation

template<class M>

bool moSimpleMoveTabuList< M >::operator() | ( | const M & | __move,
|  | const EOT & | __sol |
| ) |  |  | `[inline, virtual]`

Function that indicates if, in a given state, the _move is tabu or not.

Parameters:

  | __move | A given moMove.
  | __sol | A solution.

Returns:
  true or false.

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

Definition at line 46 of file moSimpleMoveTabuList.h.

References moSimpleMoveTabuList< M >::tabuList.

template<class M>

void moSimpleMoveTabuList< M >::add | ( | const M & | __move,
|  | const EOT & | __sol |
| ) |  |  | `[inline, virtual]`

Procedure to add a move in the tabu list.

The two parameters have not to be modified so they are constant parameters.

Parameters:

  | __move | a new tabu move.
  | __sol | the origianl solution associated to this move.

Implements moTabuList< M >.

Definition at line 60 of file moSimpleMoveTabuList.h.

References moSimpleMoveTabuList< M >::currentSize, moSimpleMoveTabuList< M >::maxSize, moSimpleMoveTabuList< M >::removeMove(), and moSimpleMoveTabuList< M >::tabuList.

template<class M>

void moSimpleMoveTabuList< M >::update | ( |  | ) | `[inline, virtual]`

Procedure that updates the tabu list content.

Generally, a counter associated to each saved move is decreased by one.

Implements moTabuList< M >.

Definition at line 82 of file moSimpleMoveTabuList.h.

template<class M>

void moSimpleMoveTabuList< M >::init | ( |  | ) | `[inline, virtual]`

Procedure which initialises the tabu list.

Can be useful if the data structure needs to be allocated before being used.

Implements moTabuList< M >.

Definition at line 88 of file moSimpleMoveTabuList.h.

template<class M>

void moSimpleMoveTabuList< M >::removeMove | ( | const M & | __move | ) | `[inline, private]`

Procedure that removes a given move from the tabu list (if it is into, else do nothing).

Parameters:

  | __move | A given moMove.

Definition at line 100 of file moSimpleMoveTabuList.h.

References moSimpleMoveTabuList< M >::tabuList.

Referenced by moSimpleMoveTabuList< M >::add().

The documentation for this class was generated from the following file:

- moSimpleMoveTabuList.h