00001 #ifndef SELECTION_HPP_ 00002 #define SELECTION_HPP_ 00003 00004 #include "../../Population.hpp" 00005 00006 template<class R, class M> 00007 class Selection 00008 { 00009 //private: 00010 protected: 00011 00012 typedef Solution<R> chromossome; 00013 //typedef vector<chromossome*> Population; 00014 typedef vector<Evaluation<M>*> FitnessValues; 00015 00016 //Population * population; 00017 //FitnessValues * fitnessValues; 00018 00019 public: 00020 00021 //virtual pair<chromossome&, chromossome&>& select(Population& p, FitnessValues& fv) = 0; 00022 00023 //virtual pair<chromossome&, chromossome&> select(Population& p, FitnessValues& fv) = 0; 00024 00025 /* 00026 virtual Population& 00027 select(Population& currentPopulation, FitnessValues& fv_crrtPop, 00028 Population& intermediatePopulation, FitnessValues& fv_intPop) = 0; 00029 */ 00030 00031 /* 00032 virtual Population& 00033 select(unsigned populationSize, Population& currentPopulation, FitnessValues& fv_crrtPop, 00034 Population& intermediatePopulation, FitnessValues& fv_intPop) = 0; 00035 */ 00036 00037 /* 00038 virtual Population<R>& 00039 select(unsigned populationSize, Population<R>& currentPopulation, FitnessValues& fv_crrtPop, 00040 Population<R>& intermediatePopulation, FitnessValues& fv_intPop) = 0; 00041 */ 00042 00043 /* 00044 virtual Population<R>& 00045 select(const Population<R>& currentPopulation, const FitnessValues& fv_crrtPop, 00046 const Population<R>& intermediatePopulation, const FitnessValues& fv_intPop) const = 0; 00047 */ 00048 00049 virtual Population<R>& 00050 select(const Population<R>& currentPopulation, const FitnessValues& fv_crrtPop, 00051 const Population<R>& intermediatePopulation, const FitnessValues& fv_intPop, const unsigned elitist_chrm_nb) const = 0; 00052 00053 }; 00054 00055 #endif /* SELECTION_HPP_ */
1.7.1