00001 #ifndef Hybrid_Orthogonal_Crossover_h
00002 #define Hybrid_Orthogonal_Crossover_h
00003
00004 #include "Algorithm.h"
00005
00009 class HybridOrthogonalCrossover : public Algorithm
00010 {
00011 public:
00012 HybridOrthogonalCrossover();
00013 bool advanceGeneration(StateP state, DemeP deme);
00014 bool initialize(StateP state);
00015 void registerParameters(StateP state);
00016
00017 protected:
00018 uint nCrxProb_;
00019 uint elitism;
00020 SelectionOperatorP selRandomOp, selWorstOp, selBestOp ;
00021 };
00022 typedef boost::shared_ptr<HybridOrthogonalCrossover> HybridOrthogonalCrossoverP;
00023
00024 #endif // Hybrid_Orthogonal_Crossover_h
00025