An Analysis of Reproduction and Crossover in a Binary-Coded Genetic Algorithm