On Nov 27, 2013, at 4:12 PM, Ralf Buschermoehle wrote:
> But it seemed that the references (ERCs) got changed after
> GPBreedingPipeline::finishProducing and before Evaluation.
> I checked with the Debugger and the post breeding in EvolutionState
> seems to be the "changer"...
> // POST-BREEDING EXCHANGING
> population = exchanger.postBreedingExchangePopulation(this);
I don't think this can be the case. Unless you're doing island models, the exchanger is completely blank (see ec/simple/SimpleExchanger). Those two statistics hooks are also blank in nearly all statistics objects.
So it has to be something else.
> When I call doReference() after this everything is fine.
One possibility: finishProducing is called once in each breeding thread. Do you have multiple breeding threads and if so are you causing a race condition?
> I know (and like) the flexibility of ECJ but I thought the Breeding is
> done completely in the (defined) pipeline?