Describir: The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms