00001 #ifndef Migration_h
00002 #define Migration_h
00003
00009 class Migration : public Operator
00010 {
00011 protected:
00012 StateP state_;
00013 uint migFrequency_;
00014 uint nEmigrants_;
00015 std::vector<SelectionOperatorP> selOp_;
00016 static const int BEST = 0;
00017 static const int RANDOM = 1;
00018
00019 public:
00025 bool operate(StateP);
00026
00027 bool initialize(StateP);
00028
00029 void registerParameters(StateP);
00030
00031 virtual ~Migration()
00032 { }
00033 };
00034 typedef boost::shared_ptr<Migration> MigrationP;
00035
00036 #endif // Migration_h