00001
00006 #ifndef _EvolutionaryMethodIteration_h
00007 #define _EvolutionaryMethodIteration_h
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "../IterationData.h"
00018 #include "../Region.h"
00019
00020
00021
00022
00023
00024 class EvolutionaryMethodIteration
00025 : public IterationData
00026 {
00027 public:
00028
00029 typedef std::list<ColumnVector> ChromosomeContainer;
00030
00033 EvolutionaryMethodIteration(void);
00034
00037 ~EvolutionaryMethodIteration(void);
00038
00039
00040
00041
00042
00043
00044
00045 virtual ColumnVector EndValuePoint() const;
00046
00047 virtual vector<IterationDataIdType> ClassIds() const;
00048
00049 static IterationDataIdType ClassId();
00050
00051
00052
00053 const ChromosomeContainer& Deceased() const;
00054 const ChromosomeContainer& Survivors() const;
00055 const ChromosomeContainer& Mutants() const;
00056 const ChromosomeContainer& Children() const;
00057
00058 const ColumnVector& StartingBest() const;
00059 const ColumnVector& StartingAverageChromosome() const;
00060 double StartingAverageValue() const;
00061 double StartingChromosomeStandardDeviation() const;
00062 double StartingValueStandardDeviation() const;
00063
00064 const ColumnVector& EndBest() const;
00065 const ColumnVector& EndAverageChromosome() const;
00066 double EndAverageValue() const;
00067 double EndChromosomeStandardDeviation() const;
00068 double EndValueStandardDeviation() const;
00069
00070 void AddDeceased(const ColumnVector& removedChromosome);
00071 void AddSurvivor(const ColumnVector& removedChromosome);
00072 void AddMutant(const ColumnVector& removedChromosome);
00073 void AddChild(const ColumnVector& childChromosome);
00074
00075 void SetStartingStatistics
00076 (const ColumnVector& best,
00077 const ColumnVector& averageChromosome,
00078 double averageValue,
00079 double chromosomeStandardDeviation,
00080 double valueStandardDeviation);
00081
00082 void SetEndStatistics
00083 (const ColumnVector& best,
00084 const ColumnVector& averageChromosome,
00085 double averageValue,
00086 double chromosomeStandardDeviation,
00087 double valueStandardDeviation);
00088
00089
00090
00091
00092 protected:
00093 private:
00094
00095 ChromosomeContainer mDeceased;
00096 ChromosomeContainer mSurvivors;
00097 ChromosomeContainer mMutants;
00098 ChromosomeContainer mChildren;
00099
00100 ColumnVector mStartingBest;
00101 ColumnVector mStartingAverageChromosome;
00102 double mStartingAverageValue;
00103 double mStartingChromosomeStandardDeviation;
00104 double mStartingValueStandardDeviation;
00105
00106 ColumnVector mEndBest;
00107 ColumnVector mEndAverageChromosome;
00108 double mEndAverageValue;
00109 double mEndChromosomeStandardDeviation;
00110 double mEndValueStandardDeviation;
00111
00112 };
00113
00114
00115
00116
00117
00118
00119
00120 #endif // _EvolutionaryMethodIteration_h