You're right, Andreas, it's a bug. It looks like the DE code was creating new individuals by cloning them from old individuals in the population rather than cloning the prototype. That's not a good idea for several reasons, but it affects you in particular because the old individuals had their evaluated flag set and so now do the new ones. I've updated the breeders on SVN, let me know if that solves the problem.
On Jun 27, 2012, at 9:53 AM, Andreas Meier wrote:
> 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?