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

# moILS< M > Class Template Reference

Iterated Local Search (ILS). More...

`#include <moILS.h>`

Inherits moAlgo< M::EOType >.

List of all members.

## Public Member Functions

| moILS (moAlgo< EOT > &_algorithm, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
| Generic constructor.
| moILS (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
| Constructor for using a moHC for the moAlgo.
| moILS (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion, moSolContinue< EOT > &_moTS_continue, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
| Constructor for using a moTS for the moAlgo.
| moILS (moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_moSA_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
| Constructor for using a moSA for the moAlgo.
bool | operator() (EOT &_solution)
| 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 > & | algorithm
| The solution based heuristic.
moSolContinue< EOT > & | continu
| The stopping criterion.
moComparator< EOT > & | acceptance_criterion
| The acceptance criterion.
eoMonOp< EOT > & | perturbation
| The perturbation generator.
eoEvalFunc< EOT > & | full_evaluation
| 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 50 of file moILS.h.

## Constructor & Destructor Documentation

template<class M>

moILS< M >::moILS | ( | moAlgo< EOT > & | _algorithm,
|  | moSolContinue< EOT > & | _continue,
|  | moComparator< EOT > & | _acceptance_criterion,
|  | eoMonOp< EOT > & | _perturbation,
|  | eoEvalFunc< EOT > & | _full_evaluation |
| ) |  |  | `[inline]`

Generic constructor.

Generic constructor using a moAlgo

Parameters:

  | _algorithm | The solution based heuristic to use.
  | _continue | The stopping criterion.
  | _acceptance_criterion | The acceptance criterion.
  | _perturbation | The pertubation generator.
  | _full_evaluation | The evaluation function.

Definition at line 70 of file moILS.h.

template<class M>

moILS< M >::moILS | ( | moMoveInit< M > & | _move_initializer,
|  | moNextMove< M > & | _next_move_generator,
|  | moMoveIncrEval< M > & | _incremental_evaluation,
|  | moMoveSelect< M > & | _move_selection,
|  | moSolContinue< EOT > & | _continue,
|  | moComparator< EOT > & | _acceptance_criterion,
|  | eoMonOp< EOT > & | _perturbation,
|  | eoEvalFunc< EOT > & | _full_evaluation |
| ) |  |  | `[inline]`

Constructor for using a moHC for the moAlgo.

Parameters:

  | _move_initializer | The move initialisation (for the moHC).
  | _next_move_generator | The move generator (for the moHC).
  | _incremental_evaluation | The partial evaluation function (for the moHC).
  | _move_selection | The move selection strategy (for the moHC).
  | _continue | The stopping criterion.
  | _acceptance_criterion | The acceptance criterion.
  | _perturbation | The pertubation generator.
  | _full_evaluation | The evaluation function.

Definition at line 87 of file moILS.h.

template<class M>

moILS< M >::moILS | ( | moMoveInit< M > & | _move_initializer,
|  | moNextMove< M > & | _next_move_generator,
|  | moMoveIncrEval< M > & | _incremental_evaluation,
|  | moTabuList< M > & | _tabu_list,
|  | moAspirCrit< M > & | _aspiration_criterion,
|  | moSolContinue< EOT > & | _moTS_continue,
|  | moSolContinue< EOT > & | _continue,
|  | moComparator< EOT > & | _acceptance_criterion,
|  | eoMonOp< EOT > & | _perturbation,
|  | eoEvalFunc< EOT > & | _full_evaluation |
| ) |  |  | `[inline]`

Constructor for using a moTS for the moAlgo.

Parameters:

  | _move_initializer | The move initialisation (for the moTS).
  | _next_move_generator | The move generator (for the moTS).
  | _incremental_evaluation | The partial evaluation function (for the moTS).
  | _tabu_list | The tabu list (for the moTS !!!!).
  | _aspiration_criterion | 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_evaluation | The evaluation function.

Definition at line 108 of file moILS.h.

template<class M>

moILS< M >::moILS | ( | moRandMove< M > & | _random_move_generator,
|  | moMoveIncrEval< M > & | _incremental_evaluation,
|  | moSolContinue< EOT > & | _moSA_continue,
|  | double | _initial_temperature,
|  | moCoolingSchedule & | _cooling_schedule,
|  | moSolContinue< EOT > & | _continue,
|  | moComparator< EOT > & | _acceptance_criterion,
|  | eoMonOp< EOT > & | _perturbation,
|  | eoEvalFunc< EOT > & | _full_evaluation |
| ) |  |  | `[inline]`

Constructor for using a moSA for the moAlgo.

Parameters:

  | _random_move_generator | The random move generator (for the moSA).
  | _incremental_evaluation | The partial evaluation function (for the moSA).
  | _moSA_continue | The stopping criterion (for the moSA).
  | _initial_temperature | The initial temperature (for the moSA).
  | _cooling_schedule | The cooling schedule (for the moSA).
  | _continue | The stopping criterion.
  | _acceptance_criterion | The acceptance criterion.
  | _perturbation | The pertubation generator.
  | _full_evaluation | The evaluation function.

Definition at line 130 of file moILS.h.

## Member Function Documentation

template<class M>

bool moILS< M >::operator() | ( | EOT & | _solution | ) | `[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:

  | _solution | a current solution to improve.

Returns:
  true.

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

Definition at line 146 of file moILS.h.

References moILS< M >::acceptance_criterion, moILS< M >::algorithm, moILS< M >::continu, moILS< M >::full_evaluation, and moILS< M >::perturbation.

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

- moILS.h