I am always thinking about the fitness function, it's a natural selection pressure simulation with a little bias. the difference between them is that for a given problem, fitness function for it is steady rather than natural selection pressure, it is changing all the time. the effect of changing has one important result: look after less fitness populations. diversity should result from this reason, mutation has its contribution but little for populations(not individuals).
there is a example in a book <<the diversity of life>>, it says a population of butterfies live in a place, some day, earthquake made this place into two seperated places(not totally but nearly) by invovles a river cross former place. therefore, butterflies has been divided into two regional population, they continue them evolution in respective place. natually, two places has some distinctive change in their environment respectively, so butterflies aslo evolve toward their environment. after several years, two distinct population created, they don't mate even put them together.
however, changing fitness function definition is problem-relative, you can't develop a method independent of problem. I have not configuring out how to do that. last week, I read a paper "Fitness Uniform Optimization" in IEEE evolutionary computation, this paper have done that! the reproduction procedure is quite unique, it generates selection pressure toward sparsely populated fitness regions, not necessarily toward higher fitness. in complex, deceptive problem, performance is far better than traditional tournament selection as regional implemented EA. However, for the view of simulation, it is not so "honest", even it's selection is happened after traditional procedure. may be FUSS or FUDS is operated intermittently will be better, but that will introduce a new parameter, a little suck.