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