00001 #ifndef SelFitnessProportionalOp_h 00002 #define SelFitnessProportionalOp_h 00003 00004 #include "SelectionOperator.h" 00005 00010 class SelFitnessProportionalOp : public SelectionOperator 00011 { 00012 protected: 00013 double selPressure_; 00014 bool bInverseSelect_; 00015 00016 public: 00017 bool initialize(StateP); 00018 00019 IndividualP select(const std::vector<IndividualP>&); 00020 00022 std::vector<IndividualP> selectMany(const std::vector<IndividualP>&, uint); 00023 00025 bool setSelPressure(double); 00026 00028 void setInverseProportional() 00029 { bInverseSelect_ = true; } 00030 00032 void setFitnessProportional() 00033 { bInverseSelect_ = false; } 00034 00035 }; 00036 typedef boost::shared_ptr<SelFitnessProportionalOp> SelFitnessProportionalOpP; 00037 00038 #endif // SelFitnessProportionalOp_h 00039
1.7.1