82   virtual void doCrossOver(
const std::vector<std::vector<IModel*> > &parents)=0;
 TRandom3 * m_random
Stores a random number generator. 
 
double m_scoreMean
Stores the mean score for the population. 
 
IModel * getBestFitted(int rank=0)
 
Abstract class describing a population of models. 
 
virtual void selectParents(int &p1, int &p2)
 
void setMutateRate(double rate)
 
void setFigureOfMerit(IFigureOfMerit *fom)
 
IFigureOfMerit * getFigureOfMerit()
 
bool m_sorted
Stores whether the ranking is valid or needs to be redone. 
 
double m_mutateRate
Stores the mutate rate. 
 
std::vector< std::vector< IModel * > > m_parents
Stores the list of parents about to be crossed-over. 
 
void checkFigureOfMerit()
 
virtual void doMutate(IModel *model)=0
 
IFigureOfMerit * m_fom
Stores the figure of merit to be used to calculate scores and perform the ranking. 
 
void setRandomSeed(int seed)
 
std::vector< IModel * > m_individuals
Stores the individuals of this population. 
 
virtual void doInitialize(int n)=0
 
virtual void doCrossOver(const std::vector< std::vector< IModel *> > &parents)=0
 
Abstract class describing the interface for a model. 
 
double m_scoreRMS
Stores the score RMS for the population.