crossover + mutation + selection (linear)