Implements the "/blxAlphaBeta" (Blend Alpha Beta) recombination for the ExpDE framework
recombination_blxAlphaBeta(X, M, recpars)
population matrix (original)
population matrix (mutated)
recombination parameters (see Recombination parameters
for details)
Matrix U
containing the recombined population
The recpars
parameter contains all parameters required to define the
recombination. recombination_blxAlpha()
understands the following
fields in recpars
:
alpha
: extrapolation parameter for 'best' parent vector.
Accepts real value 0 <= alpha <= 0.5
.
beta
: extrapolation parameter for 'worst' parent vector.
Accepts real value 0 <= beta <= 0.5
.
@section Warning:
This recombination operator evaluates the candidate solutions in M
,
which adds an extra popsize
evaluations per iteration.
This routine also implements two special cases:
BLX-alpha recombination (blxAlpha
), by setting
recpars$alpha = recpars$beta
);
Flat recombination (flat
), by setting
recpars$alpha = recpars$beta = 0
)
F. Herrera, M. Lozano, A. M. Sanchez, "A taxonomy for the crossover operator for real-coded genetic algorithms: an experimental study", International Journal of Intelligent Systems 18(3) 309-338, 2003.