- Main Page
- Classes
- Files

- Search for |

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

# moSimpleSolutionTabuList< M > Class Template Reference

Class describing a solution tabu list with limited length. More...

`#include <moSimpleSolutionTabuList.h>`

Inheritance diagram for moSimpleSolutionTabuList< M >:

List of all members.

## Public Types
typedef M::EOType | EOT
| Alias for the type.
## Public Member Functions
| moSimpleSolutionTabuList (unsigned __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 | removeSolution (const EOT &__sol)
| Procedure that removes a given solution from the tabu list (if it is into, else does nothing).
## Private Attributes
unsigned | maxSize
| The maximum size of the tabu list.
unsigned | currentSize
| The current size of the tabu list.
std::list< EOT > | tabuList
| The solution tabu list.

## Detailed Description

### template<class M>
class moSimpleSolutionTabuList< M >

Class describing a solution tabu list with limited length.

Definition at line 22 of file moSimpleSolutionTabuList.h.

## Constructor & Destructor Documentation

template<class M>

moSimpleSolutionTabuList< M >::moSimpleSolutionTabuList | ( | unsigned | __size | ) | `[inline]`

Constructor.

Parameters:

  | __size | The maximum size of the solution tabu list.

Definition at line 34 of file moSimpleSolutionTabuList.h.

References moSimpleSolutionTabuList< M >::currentSize.

## Member Function Documentation

template<class M>

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

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.

Definition at line 45 of file moSimpleSolutionTabuList.h.

References moSimpleSolutionTabuList< M >::tabuList.

template<class M>

void moSimpleSolutionTabuList< 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 64 of file moSimpleSolutionTabuList.h.

References moSimpleSolutionTabuList< M >::currentSize, moSimpleSolutionTabuList< M >::maxSize, moSimpleSolutionTabuList< M >::removeSolution(), and moSimpleSolutionTabuList< M >::tabuList.

template<class M>

void moSimpleSolutionTabuList< 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 91 of file moSimpleSolutionTabuList.h.

template<class M>

void moSimpleSolutionTabuList< 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 97 of file moSimpleSolutionTabuList.h.

template<class M>

void moSimpleSolutionTabuList< M >::removeSolution | ( | const EOT & | __sol | ) | `[inline, private]`

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

Parameters:

  | __sol | A given solution.

Definition at line 109 of file moSimpleSolutionTabuList.h.

References moSimpleSolutionTabuList< M >::tabuList.

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

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

- moSimpleSolutionTabuList.h