• Main Page
  • Modules
  • Classes
  • Files
  • File List

D:/Projekt/ECF_trunk/ECF/AlgOptIA.h

00001 #ifndef OptIA_h
00002 #define OptIA_h
00003 
00004 #include "Algorithm.h"
00005 #include "floatingpoint/FloatingPoint.h"
00006 
00007 
00022 class OptIA : public Algorithm
00023 {
00024 protected:
00025 
00026     double ubound;
00027     double lbound;
00028     uint dimension;
00029     bool areGenotypesAdded_;
00030 
00031     uint dup;       
00032     double c;       
00033     double tauB;    
00034     bool elitism;   
00035 
00037     static bool sortPopulationByFitness (IndividualP ab1,IndividualP ab2) { return ( ab1->fitness->isBetterThan(ab2->fitness)); }
00038 
00039 public:
00040 
00041     OptIA();
00042     void registerParameters(StateP state);
00043     bool initialize(StateP state);
00044     bool advanceGeneration(StateP state, DemeP deme);
00045 
00046     bool cloningPhase(StateP state, DemeP deme, std::vector<IndividualP> &clones);
00047     bool hypermutationPhase(StateP state, DemeP deme, std::vector<IndividualP> &clones);
00048     bool agingPhase(StateP state, DemeP deme,  std::vector<IndividualP> &clones);
00049     bool selectionPhase(StateP state, DemeP deme, std::vector<IndividualP> &clones);
00050     bool birthPhase(StateP state, DemeP deme, std::vector<IndividualP> &clones);
00051     bool replacePopulation(StateP state, DemeP deme, std::vector<IndividualP> &clones);
00052 
00053 };
00054 typedef boost::shared_ptr<OptIA> OptIAP;
00055 
00056 
00057 #endif // OptIA_h
00058 

Generated on Tue Nov 4 2014 13:04:30 for ECF by  doxygen 1.7.1