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
00023 class Elimination : public Algorithm
00024 {
00025 public:
00026 Elimination();
00027 bool advanceGeneration(StateP state, DemeP deme);
00028 bool initialize(StateP state);
00029 void registerParameters(StateP state);
00030
00031 protected:
00032 double genGap_;
00033 double selPressure_;
00034 SelFitnessProportionalOpP selFitPropOp;
00035 SelRandomOpP selRandomOp;
00036 SelBestOpP selBestOp;
00037 };
00038 typedef boost::shared_ptr<Elimination> EliminationP;
00039
00040 #endif // Elimination_h