All, Re: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.8122 Is there an ECJ implementation available to remove individuals based on their similarity from the population to increase/maintain diversity? If not what would be the best way to implement the removal? (1) Using Exchanger with custom SelectionMethod ? (2) Using BreedingPipeline with custom SelectionMethod ? furthermore how would I build a random individual to replace the similar ones? Does anybody have experience with early convergence and how to avoid this? I am using GP in ECJ to solve a classification problem. I have used different fittness methods (composed and multi-objective) but always run into the early convergence problem. Firstly tried to bring in diversity with high mutation rates but it did not resolve the premature convergence of the whole population. Doing some research I came across the idea from Mawhinney et al to remove similarity by replacing by new random individuals. Thanks for any hints or comments!