Hi, I was just understanding how ECJ generational loop works. So, I disabled the cross over using chunk-size = genome size, override produce(....) of ec.vector.breed.VectorCrossoverPipeline and did not do any mutation there. So, I expect the old and new individuals should be same throughout the run. I am getting ok that part. >>But the index of the old individuals does not match with the index of new individuals. Say individual [10, 20] has index 0 at old population but it gets different index (say index 3) in new population. >> I understand that newPop inside ec.simple.SimpleBreeder is the array that holds new population and state.population.subpops[subpopulation].individuals[] holds the old population at any time. Would you please let me know whether I am missing. Here is the part of parameter file (attached file name : Capture.PNG) . Thanks for your time, agb