I spent several hours trying to figure out why my differential evolution
example does not work. I think, the reason is a bug in ECJ. Usually, in
every evaluate-method of a problem definition I have encountered so far, you
should check whether the individual has already been evaluated. If you do
this as well in a differential evolution example, only the first generation
will get evaluated. It seems that after modifying the individuals the
evaluated-flag is not resetted and thus, although the individuals have
changed, they will not get re-evaluated.
Is this really a bug or is there some intention for doing it that way?