00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ROUTLETTEWHEELSELECTION_H
00021 #define ROUTLETTEWHEELSELECTION_H
00022
00023 #include "gaconfig.h"
00024 #include "core/selection.h"
00025 #include <QVector>
00026
00027 namespace farsa {
00028
00040 class FARSA_GA_API RouletteWheelSelection : public Selection {
00041 public:
00043 RouletteWheelSelection();
00044
00046 virtual ~RouletteWheelSelection();
00047
00049 virtual const Genotype* select();
00050
00054 virtual void setGenome( const Genome* g );
00055
00059 void setNotSelectedForBreeding( int notSelectedForBreeding );
00060
00064 int notSelectedForBreeding();
00065
00072 virtual void configure( ConfigurationParameters& params, QString prefix );
00073
00080 virtual void save( ConfigurationParameters& params, QString prefix );
00082 static void describe( QString type );
00083
00084 protected:
00089 int m_notSelectedForBreeding;
00090
00094 QVector<double> m_cumulativeFitness;
00095 };
00096
00097 }
00098
00099 #endif
00100