- Main Page
- Classes
- Files

- Search for |

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

# moILS< M > Class Template Reference

Iterated Local Search (ILS). More...

`#include <moILS.h>`

Inheritance diagram for moILS< M >:

List of all members.

## Public Member Functions
| moILS (moAlgo< EOT > &__algo, moSolContinue< EOT > &__continue, moComparator< EOT > &__acceptance_criterion, eoMonOp< EOT > &__perturbation, eoEvalFunc< EOT > &__full_eval)
| Generic constructor.
| moILS (moMoveInit< M > &__move_init, moNextMove< M > &__next_move, moMoveIncrEval< M > &__incr_eval, moMoveSelect< M > &__move_select, moSolContinue< EOT > &__continue, moComparator< EOT > &__acceptance_criterion, eoMonOp< EOT > &__perturbation, eoEvalFunc< EOT > &__full_eval)
| Constructor for using a moHC for the moAlgo.
| moILS (moMoveInit< M > &__move_init, moNextMove< M > &__next_move, moMoveIncrEval< M > &__incr_eval, moTabuList< M > &__tabu_list, moAspirCrit< M > &__aspir_crit, moSolContinue< EOT > &__moTS_continue, moSolContinue< EOT > &__continue, moComparator< EOT > &__acceptance_criterion, eoMonOp< EOT > &__perturbation, eoEvalFunc< EOT > &__full_eval)
| Constructor for using a moTS for the moAlgo.
| moILS (moRandMove< M > &__move_rand, moMoveIncrEval< M > &__incr_eval, moSolContinue< EOT > &__moSA_continue, double __init_temp, moCoolingSchedule &__cool_sched, moSolContinue< EOT > &__continue, moComparator< EOT > &__acceptance_criterion, eoMonOp< EOT > &__perturbation, eoEvalFunc< EOT > &__full_eval)
| Constructor for using a moSA for the moAlgo.
bool | operator() (EOT &__sol)
| Function which launches the ILS.
## Private Types
typedef M::EOType | EOT
| Alias for the type.
typedef EOT::Fitness | Fitness
| Alias for the fitness.
## Private Attributes
moAlgo< EOT > & | algo
| The solution based heuristic.
moSolContinue< EOT > & | cont
| The stopping criterion.
moComparator< EOT > & | acceptance_criterion
| The acceptance criterion.
eoMonOp< EOT > & | perturbation
| The perturbation generator.
eoEvalFunc< EOT > & | full_eval
| The full evaluation function.

## Detailed Description

### template<class M>
class moILS< M >

Iterated Local Search (ILS).

Class which describes the algorithm for a iterated local search.

Definition at line 25 of file moILS.h.

## Constructor & Destructor Documentation

template<class M>

moILS< M >::moILS | ( | moAlgo< EOT > & | __algo,
|  | moSolContinue< EOT > & | __continue,
|  | moComparator< EOT > & | __acceptance_criterion,
|  | eoMonOp< EOT > & | __perturbation,
|  | eoEvalFunc< EOT > & | __full_eval |
| ) |  |  | `[inline]`

Generic constructor.

Generic constructor using a moAlgo

Parameters:

  | __algo | The solution based heuristic to use.
  | __continue | The stopping criterion.
  | __acceptance_criterion | The acceptance criterion.
  | __perturbation | The pertubation generator.
  | __full_eval | The evaluation function.

Definition at line 46 of file moILS.h.

template<class M>

moILS< M >::moILS | ( | moMoveInit< M > & | __move_init,
|  | moNextMove< M > & | __next_move,
|  | moMoveIncrEval< M > & | __incr_eval,
|  | moMoveSelect< M > & | __move_select,
|  | moSolContinue< EOT > & | __continue,
|  | moComparator< EOT > & | __acceptance_criterion,
|  | eoMonOp< EOT > & | __perturbation,
|  | eoEvalFunc< EOT > & | __full_eval |
| ) |  |  | `[inline]`

Constructor for using a moHC for the moAlgo.

Parameters:

  | __move_init | The move initialisation (for the moHC).
  | __next_move | The move generator (for the moHC).
  | __incr_eval | The partial evaluation function (for the moHC).
  | __move_select | The move selection strategy (for the moHC).
  | __continue | The stopping criterion.
  | __acceptance_criterion | The acceptance criterion.
  | __perturbation | The pertubation generator.
  | __full_eval | The evaluation function.

Definition at line 62 of file moILS.h.

template<class M>

moILS< M >::moILS | ( | moMoveInit< M > & | __move_init,
|  | moNextMove< M > & | __next_move,
|  | moMoveIncrEval< M > & | __incr_eval,
|  | moTabuList< M > & | __tabu_list,
|  | moAspirCrit< M > & | __aspir_crit,
|  | moSolContinue< EOT > & | __moTS_continue,
|  | moSolContinue< EOT > & | __continue,
|  | moComparator< EOT > & | __acceptance_criterion,
|  | eoMonOp< EOT > & | __perturbation,
|  | eoEvalFunc< EOT > & | __full_eval |
| ) |  |  | `[inline]`

Constructor for using a moTS for the moAlgo.

Parameters:

  | __move_init | The move initialisation (for the moTS).
  | __next_move | The move generator (for the moTS).
  | __incr_eval | The partial evaluation function (for the moTS).
  | __tabu_list | The tabu list (for the moTS !!!!).
  | __aspir_crit | The aspiration criterion (for the moTS).
  | __moTS_continue | The stopping criterion (for the moTS).
  | __continue | The stopping criterion.
  | __acceptance_criterion | The acceptance criterion.
  | __perturbation | The pertubation generator.
  | __full_eval | The evaluation function.

Definition at line 82 of file moILS.h.

template<class M>

moILS< M >::moILS | ( | moRandMove< M > & | __move_rand,
|  | moMoveIncrEval< M > & | __incr_eval,
|  | moSolContinue< EOT > & | __moSA_continue,
|  | double | __init_temp,
|  | moCoolingSchedule & | __cool_sched,
|  | moSolContinue< EOT > & | __continue,
|  | moComparator< EOT > & | __acceptance_criterion,
|  | eoMonOp< EOT > & | __perturbation,
|  | eoEvalFunc< EOT > & | __full_eval |
| ) |  |  | `[inline]`

Constructor for using a moSA for the moAlgo.

Parameters:

  | __move_rand | The random move generator (for the moSA).
  | __incr_eval | The partial evaluation function (for the moSA).
  | __moSA_continue | The stopping criterion (for the moSA).
  | __init_temp | The initial temperature (for the moSA).
  | __cool_sched | The cooling scheduler (for the moSA).
  | __continue | The stopping criterion.
  | __acceptance_criterion | The acceptance criterion.
  | __perturbation | The pertubation generator.
  | __full_eval | The evaluation function.

Definition at line 102 of file moILS.h.

## Member Function Documentation

template<class M>

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

Function which launches the ILS.

The ILS has to improve a current solution. As the moSA, the moTS and the moHC, it can be used for HYBRIDATION in an evolutionnary algorithm.

Parameters:

  | __sol | a current solution to improve.

Returns:
  TRUE.

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

Definition at line 119 of file moILS.h.

References moILS< M >::acceptance_criterion, moILS< M >::algo, moILS< M >::cont, moILS< M >::full_eval, and moILS< M >::perturbation.

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

- moILS.h