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:
parent
4a152dc172
commit
10064ad967
28 changed files with 471 additions and 180 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue