allow the nice constructs I had imagined (and compiled with g++)
- I removed the createParam method in Parser class - that was creating the parameters
on the heap. Not allowed to have a templatized method ???
- I removed the subroutine read_param in SecondBitEA, as you need to create
permanent parameters (eoParser only holds references), and egcs did not allow
to create them by reference, i.e. in the line
eoValueParam<xxx> & blablaParam(...);
So now everything is done in the main_function, and 3 lines are needed to create
and read every paramter (sigh ...)
The interface for eoReplacement is now eoPop<EOT>&, eoPop<EOT>&
(i.e. no const) and the result must be in the first argument in the end.
Hence it is possible to do SSGA and all intermediate replacmeent procedures
The classes derived from eoMergeReduce.h are now in a separate file
The SSGA-like replcaement procedures are in eoReduceMerge.h
A more general replacement can be found in eoSurviveAndDie.h
(it could be made a littel more general - still open for upgrades).
Also some accessors have been added to the eoPop (best and worse individuals)
And include file eo has been updated
Also contains the class eoDynUpdater. They are eoUpdater, they receive an eoUpdatable
at construct time, and call their upate() method in their operator() method
- added the eoNormMutation, simple normal mutation for simple real variables
Modified Files:
src/eo src/es/eoRealOp.h tutorial/Lesson2/FirstRealEA.cpp
tutorial/Lesson3/SecondBitEA.cpp
a method called lastCall is called for everything contained in that checkpoint
(stats, updaters and monitors). This can be extremely useful
- for stateSavers (see below)
- for monitoring things like rates of success of operators, where what you
are interested in is the final result only.
Added of course a virtual method lastCall that does nothing by default in classes
eoBaseStat, eoBaseSortedStat, eoUpdater and eoMonitor
Added a boolean to control the save of the state in method eoCountedStateSaver::lastCall
so you can ask that the state is saved at final population, whatever happens.
I also added the corresponding constructor to take this into account.