MemeticAlgorithm< T > Class Template Reference

The super class for Memetic Algorithms. More...

#include <MemeticAlgorithm.h>

Inheritance diagram for MemeticAlgorithm< T >:

MAMetaLamarckian< T >

List of all members.

Public Types

enum  MA_STRATEGY
 Different strategy to select individuals undergoing local search. More...

Public Member Functions

 MemeticAlgorithm ()
 Default constructor.
 MemeticAlgorithm (GlobalSearch< T > *globalSearch, LocalSearch *localSearch=NULL)
 Constructor.
void evolve (unsigned int nGenerations=1)
 Evolving algorithm.
int nGenerations ()
 Number of generations elapsed.
bool done ()
 Check if stopping criteria are satisfied.

Public Attributes

GlobalSearch< T > * gs
 Global search method.
LocalSearchls
 Local search method.
int tLS
 Maximum number of evaluations allocated for each individual learning.
double pLS
 Percentage of the population should undergo individual learning.
MA_STRATEGY maStrategy
 Strategy to select individuals undergoing individual learning.
unsigned int maxEvaluations
 (Stopping criteria) Maximum number of evaluations allowed.
unsigned int maxGenerations
 (Stopping criteria) Maximum number of generations allowed.

Protected Member Functions

vector< int > getLSIndividuals ()
 Generate the set of individuals undergoing local search, based on the setting of maStrategy.
virtual void initialize ()
 Initialization.


Detailed Description

template<typename T>
class MemeticAlgorithm< T >

The super class for Memetic Algorithms.

<File comment goes here!!>

Copyright (c) 2008 by <Quang Huy / NTU>

Parameters:
T Type T can be bool (binary problems), int (combinatorial problems) or real (continuous problems).
See also:
GeneticAlgorithm | LocalSearch

Member Enumeration Documentation

template<typename T>
enum MemeticAlgorithm::MA_STRATEGY

Different strategy to select individuals undergoing local search.

Best: individuals with best fitnesses are selected. Stratified: individuals are selected so as to maintain highest diversity. Random: individuals are selected randomly.


Constructor & Destructor Documentation

template<typename T>
MemeticAlgorithm< T >::MemeticAlgorithm ( GlobalSearch< T > *  globalSearch,
LocalSearch localSearch = NULL 
) [inline]

Constructor.

Parameters:
globalSearch Global search method of type GlobalSearch.
localSearch Local search method of type LocalSearch.
Remarks:
Global search must be implemented for the same coding type.
See also:
GlobalSearch | LocalSearch


Member Function Documentation

template<typename T>
void MemeticAlgorithm< T >::evolve ( unsigned int  nGenerations = 1  )  [inline]

Evolving algorithm.

Parameters:
nGenerations Number of generation to evolve.
Typically, one of more generations of global search is followed by an individual learning phase.

Reimplemented in MAMetaLamarckian< T >.

template<typename T>
bool MemeticAlgorithm< T >::done (  )  [inline]

Check if stopping criteria are satisfied.

Returns:
True if one of the stopping conditions is true, false otherwise.

template<typename T>
vector< int > MemeticAlgorithm< T >::getLSIndividuals (  )  [inline, protected]

Generate the set of individuals undergoing local search, based on the setting of maStrategy.

Returns:
Vector of positions of the individuals.
See also:
MA_STRATEGY


Member Data Documentation

template<typename T>
GlobalSearch<T>* MemeticAlgorithm< T >::gs

Global search method.

See also:
GlobalSearch

template<typename T>
LocalSearch* MemeticAlgorithm< T >::ls

Local search method.

See also:
LocalSearch

template<typename T>
MA_STRATEGY MemeticAlgorithm< T >::maStrategy

Strategy to select individuals undergoing individual learning.

See also:
MA_STRATEGY


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

Generated on Thu Aug 28 18:34:48 2008 for Dolphin by  doxygen 1.5.6