Adding Evolution Strategies:

src/es/eoEsGlobalXover.h and src/es/eoEsLocalXover.h for crossover
src/es/make_XXX_es.h for user-input
test/t-eoEsAll.cpp to test

However, an old bug appeared: className was not const in eoGenOp (and derived classes)
so I had to change that throughtout the hierarchy
This commit is contained in:
evomarc 2001-05-02 10:42:32 +00:00
commit 10064ad967
28 changed files with 471 additions and 180 deletions

View file

@ -63,7 +63,7 @@ class eoGenOp : public eoOp<EOT>, public eoUF<eoPopulator<EOT> &, void>
*/
virtual unsigned max_production(void) = 0;
virtual string className() = 0;
virtual string className() const = 0;
void operator()(eoPopulator<EOT>& _pop)
{
_pop.reserve(max_production());
@ -93,7 +93,7 @@ class eoMonGenOp : public eoGenOp<EOT>
(*_it).invalidate(); // look how simple
}
string className() {return op.className();}
virtual string className() const {return op.className();}
private :
eoMonOp<EOT>& op;
};
@ -120,7 +120,7 @@ class eoBinGenOp : public eoGenOp<EOT>
if (op(a, b))
a.invalidate();
}
string className() {return op.className();}
virtual string className() const {return op.className();}
private :
eoBinOp<EOT>& op;
@ -141,7 +141,7 @@ class eoSelBinGenOp : public eoGenOp<EOT>
if (op(*_pop, sel(_pop.source())))
(*_pop).invalidate();
}
string className() {return op.className();}
virtual string className() const {return op.className();}
private :
eoBinOp<EOT>& op;
@ -170,7 +170,7 @@ class eoQuadGenOp : public eoGenOp<EOT>
b.invalidate();
}
}
string className() {return op.className();}
virtual string className() const {return op.className();}
private :
eoQuadOp<EOT>& op;