moILS< M > Class Template Reference

Iterated Local Search (ILS). More...

#include <moILS.h>

Inheritance diagram for moILS< M >:

moAlgo< M::EOType > eoMonOp< M::EOType > eoOp< EOType > eoUF< M::EOType &, bool > eoFunctorBase 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 50 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 71 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 87 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 107 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 127 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 144 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:
Generated on Tue Oct 23 15:29:28 2007 for ParadisEO-MOMovingObjects by  doxygen 1.5.2