pub trait Evolve<G, F, C>where
G: Genome,
F: EvaluateFitness<G>,
C: EvaluateObjectiveValue<G>,{
// Required method
fn next_generation(
&mut self,
cur_population: &Population<G>,
valuer: &mut Valuer<G, F, C>
) -> Population<G>;
}