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