Michael, I'd recently (in the last few months) made significant modifications to the ES package, simplifying it and making it more flexible. I may have screwed something up, let me look. BTW: thanks for the bug reports, they're enormously helpful. Sean Michael Hart wrote: > Hi, > > I just started running into issues with two breed threads and > ESSelection when mu+lambda are equal and not even (ie, mu = lambda = > 13). Basically the parent index was one higher than it should be and an > ArrayIndexOutOfBoundsException was being thrown. > > I started digging around the code and I think ESSelection.java may > require a little TLC. Firstly, the produce(int, EvolutionState, int) > method seems to use a different way of calculating the parent than > either the breeder or the other produce method does. Secondly, I think > there's an off-by-one error in the way the current position is > determined when multiple threads are involved and lambda is not even. > > I've attached a couple of patches that I think do the right thing (the > breeder patch is just a clean-up to clarify the code a little). > > Cheers, > > Michael