The Heuristic Crossover (HC) operator is a conditional operator (Herrera et.al, 1998; Umbarkar & Sheth, 2005). A random r value is generated in the range [0,1]. Then if Parent2's fitness value is greater than or equal to Parent1's fitness value, the difference between them is weighted by r and added to Parent2. It is subtracted in minimization problems. This operator produces a single offspring, but due to the random value of r, repeated offspring may result in different offspring.
Usage
hc(x1, x2, fitfunc, cxon, ...)
Arguments
x1
A vector. It contains the chromosomal information of parent-1.
x2
A vector. It contains the chromosomal information of parent-2.
fitfunc
Fitness Function
cxon
Number of offspring to be generated as a result of crossover
…
Further arguments passed to or from other methods.
Value
A matrix containing the generated offsprings.
References
Herrera, F., Lozano, M. and Verdegay, J.L. (1998). Tackling real-coded genetic algorithms: Operators and tools for behavioural analysis. Artificial Intellegence Review, 12(4), 265-319
Umbarkar, A.J. and Sheth P.D. (2015). Crossover operators in genetic algorithms: A riview, ICTACT Journal on Soft Computing, 6(1), 1083-1092.