Single arithmetic crossover#

single_arithmetic_crossover() sets one random variable of both offspring to the average of the parents and copies the other variables. Only DESDEO (SingleArithmeticCrossover) provides this operator.

KS test results#

moocore

desdeo

moocore

0.999

desdeo

0.999

Both implementations produce the same distribution of offspring.

Performance over number of parents#

../../_images/crossover_bench-single_arithmetic-nparents-time.png

DESDEO takes 16 to 69 times as long as moocore.

Performance over number of variables#

../../_images/crossover_bench-single_arithmetic-nvars-time.png

DESDEO takes 31 to 164 times as long as moocore.