finish eoGeneration... still to be tested

This commit is contained in:
gustavo 1999-09-28 10:26:39 +00:00
commit 49b35da8f9

View file

@ -14,24 +14,23 @@
// eoGeneration // eoGeneration
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
template<class Chrom> class eoGeneration: public eoTransform<Chrom> template<class Chrom> class eoGeneration
{ {
public: public:
/// Constructor. /// Constructor.
eoGeneration(eoSelect& _select, eoGeneration(eoSelect& _select,
eoTranform& _transform, eoTranform& _transform,
eoMerge& _replace): eoMerge& _replace):
eoTransform<Chrom>() {} select(_select), transform(_transform), replace(_replace) {}
/** /// apply one generation of evolution to the population
*
*/
void operator()(eoPop& pop) void operator()(eoPop& pop)
{ {
eoPop breeders; eoPop breeders;
select(pop, breeders); select(pop, breeders);
transform(breeders); transform(breeders);
for_each(pop.begin(), pop.end(), Chrom::Fitness);
replace(breeders, pop); replace(breeders, pop);
} }