crossover operation in genetic algorithm