Closed ropinho closed 5 years ago
Thanks for this PR! Unfortunately, there is already a more powerful mechanism to achieve that is Paradiseo! Indeed, each algorithm use an eoContinue operator, called at each iteration as a stopping predicate. Using this interface, you can embbed an eoCheckPoint within an eoContinue, which will "do stuff" at every call. There i several implementations that can compute all kind of statistics on the population, print them on various stream (stdout, file, etc.) and that can be called at various time (each iteration, every n iterations, every m seconds, at system signal reception, etc.).
A good entry point in the documentation is the "Monitoring" group: http://paradiseo.gforge.inria.fr/addon/eo/doc/group___monitors.html
You can also have a look at examples by looking at "do/make" scripts https://github.com/nojhan/paradiseo/blob/master/eo/src/do/make_checkpoint.h that automagically add various monitors to an existing algorithm.
Oh, thanks! :)
While I was using eoSGA I came across this question that brought me to this modification.
I've been thinking about a consensus between simplicity and freedom of implementation. eoSGA provides simplicity but doesn't allow us to implement GA internally (for this there are other features with a higher learning curve).
I've thinking a feature which i explain with details on Issue #42 .
Added derived class: eoSGAVerbose
class derived from eoSGA class.
OBS: Attributtes access of the eoSGA class was been modified from private to protected.
The objective of the eoSGAVerbose class is provides an automatic visualization about fitter individuals in each generation of the genectic algorithm implemented in eoSGA.
An utility of these feature is the convergence verification.
Usage
It works exactly like the eoSGA, but increased of prints on console. Then: Suppose all objects was been instantiated. (select, crossover, ...)
Output example for Individuals size = 16 and Number of generations = 40:
This feature aims to automatize the visualization of informations about generations.