Choosing Mutation and Crossover Ratios for Genetic Algorithms—A Review with a New Dynamic Approach | Synapse