InBetweenCrossover.h

00001 
00014 #ifndef _InBetweenCrossover_h
00015 #define _InBetweenCrossover_h
00016 
00017 // SYSTEM INCLUDES
00018 //
00019 
00020 // PROJECT INCLUDES
00021 //
00022 
00023 // LOCAL INCLUDES
00024 //
00025 #include "CrossoverMethod.h"
00026 
00027 // FORWARD REFERENCES
00028 //
00029 
00030 
00031 class InBetweenCrossover
00032     : public CrossoverMethod
00033 {
00034 public:
00035 // LIFECYCLE
00036 
00039     ~InBetweenCrossover(void);
00040 
00041 // OPERATORS
00042 // OPERATIONS
00043 
00046     virtual std::auto_ptr<CrossoverMethod>  Clone() const;
00047 
00048     /* Przeprowadź krzyżowanie.
00049      *
00050      * Funkcja doprowadza populację do początkowego stanu liczebności poprzez
00051      * tworzenie nowych nowych chromosomów w połowie odcinką łączącego dwa różne
00052      * wylosowane chromosomy.
00053      *
00054      * @param population Populacja, której osobniki mają być poddane procesowi
00055      * krzyżowania.
00056      * @param crossoverRate Współczynnik krzyżowania. nie używany w tej
00057      * metodzie.
00058      * @param iteration Obiekt, do którego zapisywany jest przebieg iteracji
00059      * metody optymalizacji.
00060      */
00061     virtual void        Crossover
00062                               (Population&                  population,
00063                                double                       crossoverRate,
00064                                EvolutionaryMethodIteration& iteration) const;
00065 
00066 // ACCESS
00067 
00072     virtual wxString                ToString() const;
00073 
00078     virtual wxString                Name() const;
00079 
00080 // INQUIRY
00081 
00082 protected:
00083 private:
00084 
00087     InBetweenCrossover(void);
00088 
00093     InBetweenCrossover(const InBetweenCrossover& from);
00094 
00097     static InBetweenCrossover       mInBetweenCrossover;
00100     static const wxString           mName;
00101 
00102 };
00103 
00104 // INLINE METHODS
00105 //
00106 
00107 // EXTERNAL REFERENCES
00108 //
00109 
00110 #endif  // _InBetweenCrossover_h

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