EvolutionaryMethodIteration.h

00001 
00006 #ifndef _EvolutionaryMethodIteration_h
00007 #define _EvolutionaryMethodIteration_h
00008 
00009 // SYSTEM INCLUDES
00010 //
00011 
00012 // PROJECT INCLUDES
00013 //
00014 
00015 // LOCAL INCLUDES
00016 //
00017 #include "../IterationData.h"
00018 #include "../Region.h"
00019 
00020 // FORWARD REFERENCES
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 // OPERATORS
00040 
00041 // OPERATIONS
00042 
00043 // ACCESS
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 // INQUIRY
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 // INLINE METHODS
00115 //
00116 
00117 // EXTERNAL REFERENCES
00118 //
00119 
00120 #endif  // _EvolutionaryMethodIteration_h

Wygenerowano Fri Sep 29 21:04:47 2006 dla EduOptim2 programem  doxygen 1.4.6