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