added population_optimum() and population_diff()