00001
00011 #ifndef _ThreeParticipantsCrossover_h
00012 #define _ThreeParticipantsCrossover_h
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "CrossoverMethod.h"
00023
00024
00025
00026
00027
00028 class ThreeParticipantsCrossover
00029 : public CrossoverMethod
00030 {
00031 public:
00032
00033
00036 ~ThreeParticipantsCrossover(void);
00037
00038
00039
00040
00043 virtual std::auto_ptr<CrossoverMethod> Clone() const;
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057 virtual void Crossover
00058 (Population& population,
00059 double crossoverRate,
00060 EvolutionaryMethodIteration& iteration) const;
00061
00062
00063
00068 virtual wxString ToString() const;
00069
00074 virtual wxString Name() const;
00075
00076
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
00101
00102
00103
00104
00105
00106 #endif // _ThreeParticipantsCrossover_h