00001 #ifndef OPTFRAME_ELITISM_HPP_
00002 #define OPTFRAME_ELITISM_HPP_
00003
00004 #include "../../Solution.hpp"
00005 #include "../../Evaluation.hpp"
00006
00007 #include "../../Population.hpp"
00008
00009 template<class R, class M>
00010 class Elitism
00011 {
00012 protected:
00013
00014 typedef Solution<R> chromossome;
00015
00016 typedef vector<Evaluation<M>*> FitnessValues;
00017
00018 public:
00019
00020 virtual Population<R> & doElitism(const Population<R> &p, const FitnessValues& fv_p, unsigned popElitistSize) const = 0;
00021
00022 };
00023
00024 #endif