Hi Eva, I too am using SPEA2 and am confused by this and other issues. I experienced similar behaviour to that described below, and initially assumed "top block" must refer to the *end* of the individuals array, rather than the *start*. However, looking at the SPEA2TournamentSelection class: int i = state.random[thread].nextInt(((SPEA2Subpopulation)state.population.subpops[subpopulation]).archiveSize); We can see the the individual (which should be selected from the archive only) will come from the *start* of the array, as the documentation states. Is it possible there is a bug in the SPEA2 code? I have not received the results I expected when trying a few experiments, and have seen similar postings from others. I have, as Sean suggested, contacted the author (Rob Hubley) but he's currently unavailable. If Rob gets back to me I'll post his reply. Kind Regards, David Eva Alfaro wrote: > Dear all, > > Lately I have been using SPEA2 for a bankruptcy prediction problem. > Everything seemed to work fine but once I got to analyse the final > population of one of my runs the results didn't match what I expected to > find. > > According to the documentation the archive is maintained at the top block > of the individuals vector. Since I was getting "Truncating the archive" > messages on the screen, I assumed that the archive would be filled with > non-dominated individuals. That was not the case. In the top block of the > population non-dominated individuals and dominated individuals were all > mixed and furhter below the archive size limit (out of the archive) there > were non-dominated individuals. Summarizing, in the final population of my > run I could find more than 300 non-dominated individuals (settings for > population size and archive size were 1000 and 100, respectively) and only > around 50 of them were placed at the top 100 position of the individuals > vector. > > Any help? Where am I going wrong? > > Thank you, > Eva > -- David R White Research Student Department of Computer Science University of York York YO10 5DD United Kingdom Phone: +44 (0)1904 434756