00001 #ifndef Elimination_h
00002 #define Elimination_h
00003
00004 #include "Algorithm.h"
00005 #include "SelFitnessProportionalOp.h"
00006 #include "SelRandomOp.h"
00007 #include "SelBestOp.h"
00008
00025 class Elimination : public Algorithm
00026 {
00027 public:
00028 Elimination();
00029 bool advanceGeneration(StateP state, DemeP deme);
00030 bool initialize(StateP state);
00031 void registerParameters(StateP state);
00032
00033 protected:
00034 double genGap_;
00035 double selPressure_;
00036 SelFitnessProportionalOpP selFitPropOp;
00037 SelRandomOpP selRandomOp;
00038 SelBestOpP selBestOp;
00039 };
00040 typedef boost::shared_ptr<Elimination> EliminationP;
00041
00042 #endif // Elimination_h