*** empty log message ***
This commit is contained in:
parent
93fcc4c048
commit
b109ef46b2
1 changed files with 14 additions and 10 deletions
|
|
@ -26,7 +26,7 @@
|
||||||
#define eoGeneration_h
|
#define eoGeneration_h
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
#include <strstream>
|
||||||
#include <eoAlgo.h> // eoPop
|
#include <eoAlgo.h> // eoPop
|
||||||
#include <eoEvalFunc.h>
|
#include <eoEvalFunc.h>
|
||||||
#include <eoPopOps.h> // eoSelect, eoTranform, eoMerge
|
#include <eoPopOps.h> // eoSelect, eoTranform, eoMerge
|
||||||
|
|
@ -56,15 +56,19 @@ template<class Chrom> class eoGeneration: public eoAlgo<Chrom>
|
||||||
|
|
||||||
/// Apply one generation of evolution to the population.
|
/// Apply one generation of evolution to the population.
|
||||||
virtual void operator()(eoPop<Chrom>& pop) {
|
virtual void operator()(eoPop<Chrom>& pop) {
|
||||||
eoPop<Chrom> breeders;
|
eoPop<Chrom> breeders;
|
||||||
select(pop, breeders);
|
try {
|
||||||
transform(breeders);
|
select(pop, breeders);
|
||||||
eoPop<Chrom>::iterator i;
|
transform(breeders);
|
||||||
// Can't use foreach here since foreach takes the
|
eoPop<Chrom>::iterator i;
|
||||||
// parameter by reference
|
// Can't use foreach here since foreach takes the
|
||||||
for ( i = breeders.begin(); i != breeders.end(); i++)
|
// parameter by reference
|
||||||
evaluator(*i);
|
for ( i = breeders.begin(); i != breeders.end(); i++)
|
||||||
replace(breeders, pop);
|
evaluator(*i);
|
||||||
|
replace(breeders, pop);
|
||||||
|
} catch ( exception& e ) {
|
||||||
|
throw runtime_error( e.what() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Class name.
|
/// Class name.
|
||||||
|
|
|
||||||
Reference in a new issue