Text this: Adaptive component crossover for differential evolution in solving single-objective optimization problems