The outline for our genetic algorithm