ThreeParticipantsCrossover.h

00001 
00011 #ifndef _ThreeParticipantsCrossover_h
00012 #define _ThreeParticipantsCrossover_h
00013 
00014 // SYSTEM INCLUDES
00015 //
00016 
00017 // PROJECT INCLUDES
00018 //
00019 
00020 // LOCAL INCLUDES
00021 //
00022 #include "CrossoverMethod.h"
00023 
00024 // FORWARD REFERENCES
00025 //
00026 
00027 
00028 class ThreeParticipantsCrossover
00029     : public CrossoverMethod
00030 {
00031 public:
00032 // LIFECYCLE
00033 
00036     ~ThreeParticipantsCrossover(void);
00037 
00038 // OPERATORS
00039 // OPERATIONS
00040 
00043     virtual std::auto_ptr<CrossoverMethod>  Clone() const;
00044 
00045     /* Przeprowadź krzyżowanie.
00046      *
00047      * Funkcja tworzy nowe chromosomy dodają odcinek łączący dwa osobiniki
00048      * wylosowane z ppopulacji do współrzędnych trzeciego osobnika.
00049      *
00050      * @param population Populacja, której osobniki mają być poddane procesowi
00051      * krzyżowania.
00052      * @param crossoverRate Współczynnik krzyżowania mnożony przez odcinek
00053      * łączący chromosomy-rodziców
00054      * @param iteration Obiekt, do którego zapisywany jest przebieg iteracji
00055      * metody optymalizacji.
00056      */
00057     virtual void        Crossover
00058                               (Population&                  population,
00059                                double                       crossoverRate,
00060                                EvolutionaryMethodIteration& iteration) const;
00061 
00062 // ACCESS
00063 
00068     virtual wxString                ToString() const;
00069 
00074     virtual wxString                Name() const;
00075 
00076 // INQUIRY
00077 
00078 protected:
00079 private:
00080 
00083     ThreeParticipantsCrossover(void);
00084 
00089     ThreeParticipantsCrossover(const ThreeParticipantsCrossover& from);
00090 
00093     static ThreeParticipantsCrossover   mThreeParticipantsCrossover;
00096     static const wxString               mName;
00097 
00098 };
00099 
00100 // INLINE METHODS
00101 //
00102 
00103 // EXTERNAL REFERENCES
00104 //
00105 
00106 #endif  // _ThreeParticipantsCrossover_h

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