While generating graphs for a poster, I printed out some of my pickled populations and found that, to my surprise, upwards of 90% of the individuals are identical! So each generation is really just many copies of a few individuals. I think the reason this is happening is because I fit parameters whenever I generate a new individual using scipy.optimize (I'm doing symbolic regression), which means if individuals have the same tree, they get optimized to the same result. I've tried Pareto and tournament selection with different sizes, nothing seems to have helped. What can I do?