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

# moSA< M > Class Template Reference

Simulated Annealing (SA). More...

`#include <moSA.h>`

Inherits moAlgo< M::EOType >.

List of all members.

## Public Member Functions

| moSA (moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, eoEvalFunc< EOT > &_full_evaluation)
| SA constructor.
bool | operator() (EOT &_solution)
| function that launches the SA algorithm.

## Private Types

typedef M::EOType | EOT
| Alias for the type.
typedef EOT::Fitness | Fitness
| Alias for the fitness.

## Private Attributes

moRandMove< M > & | random_move_generator
| A move generator (generally randomly).
moMoveIncrEval< M > & | incremental_evaluation
| A (generally) efficient evaluation function.
moSolContinue< EOT > & | continu
| Stopping criterion before temperature update.
double | initial_temperature
| Initial temperature.
moCoolingSchedule & | cooling_schedule
| The cooling schedule.
eoEvalFunc< EOT > & | full_evaluation
| A full evaluation function.

## Detailed Description

### template<class M>
class moSA< M >

Simulated Annealing (SA).

Class that describes a Simulated Annealing algorithm.

Definition at line 53 of file moSA.h.

## Constructor & Destructor Documentation

template<class M>

moSA< M >::moSA | ( | moRandMove< M > & | _random_move_generator,
|  | moMoveIncrEval< M > & | _incremental_evaluation,
|  | moSolContinue< EOT > & | _continue,
|  | double | _initial_temperature,
|  | moCoolingSchedule & | _cooling_schedule,
|  | eoEvalFunc< EOT > & | _full_evaluation |
| ) |  |  | `[inline]`

SA constructor.

All the boxes used by a SA need to be given.

Parameters:

  | _random_move_generator | The move generator (generally randomly).
  | _incremental_evaluation | The (generally) efficient evaluation function
  | _continue | The stopping criterion.
  | _initial_temperature | The initial temperature.
  | _cooling_schedule | The cooling schedule, describes how the temperature is modified.
  | _full_evaluation | The full evaluation function.

Definition at line 74 of file moSA.h.

## Member Function Documentation

template<class M>

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

function that launches the SA algorithm.

As a moTS or a moHC, the SA can be used for HYBRIDATION in an evolutionary algorithm.

Parameters:

  | _solution | A solution to improve.

Returns:
  TRUE.

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

Definition at line 89 of file moSA.h.

References moSA< M >::continu, moSA< M >::cooling_schedule, moSA< M >::full_evaluation, moSA< M >::incremental_evaluation, moSA< M >::initial_temperature, moSA< M >::random_move_generator, and eoRng::uniform().

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

- moSA.h