> On 28.11.2013, at 06:31, Sean Luke <[log in to unmask]> wrote:
>> 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.
Ok, interesting ... i'll check what the code does and narrow it down. Presumably a parameter file error.
>> 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?
Normally yes, but for testing no - only one breeding and eval thread.
>> I know (and like) the flexibility of ECJ but I thought the Breeding is
>> done completely in the (defined) pipeline?
> It is.
Ok, i'll check what's going on in the Exchanger - maybe some leftovers in the param file.