00001 #ifndef Roulette_Wheel_h
00002 #define Roulette_Wheel_h
00003
00004 #include "Algorithm.h"
00005
00009 class RouletteWheel : public Algorithm
00010 {
00011 public:
00012 RouletteWheel();
00013 bool advanceGeneration(StateP state, DemeP deme);
00014 bool initialize(StateP state);
00015 void registerParameters(StateP state);
00016
00017 protected:
00018 double crxRate_;
00019 double selPressure_;
00020 SelFitnessProportionalOpP selFitPropOp;
00021 SelRandomOpP selRandomOp;
00022 SelBestOpP selBestOp;
00023
00024 };
00025 typedef boost::shared_ptr<RouletteWheel> RouletteWheelP;
00026
00027 #endif // Roulette_Wheel_h