00001 #ifndef CSTANDARDPROPAGATION_H 00002 #define CSTANDARDPROPAGATION_H 00003 00004 #include "GeneralPropagation.h" 00005 00006 namespace gplib 00007 { 00008 /** \addtogroup gainv Genetic algorithm optimization */ 00009 /* @{ */ 00010 //! This is the standard propagation class that generates a new population from the old one 00011 /*! This class implements the standard propagation schemes for genetic algorithms, selection, 00012 * crossover and mutation. Each of these steps is performed by a class that we can choose 00013 * in the constructor. 00014 */ 00015 class StandardPropagation: public GeneralPropagation 00016 { 00017 public: 00018 virtual void NextGeneration(); 00019 //! The constructor takes pointers to various base classes that configure the behaviour of the selection process. 00020 /*! This class is basically just a skeleton that uses the objects that implement Selection, Crossover and Mutation 00021 * in the right order. 00022 * @param LocalSelect A pointer to an object that implements a selection scheme for the genetic algorithm 00023 * @param LocalPopulation A pointer to a population object 00024 * @param LocalRandom A pointer to a random number generator 00025 */ 00026 StandardPropagation(GeneralSelect* const LocalSelect, 00027 GeneralPopulation* const LocalPopulation, 00028 GeneralRNG* const LocalRandom); 00029 virtual ~StandardPropagation(); 00030 }; 00031 /* @} */ 00032 } 00033 #endif // CSTANDARDPROPAGATION_H
1.5.8