| hc {adana} | R Documentation |
Heuristic Crossover
Description
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.
Author(s)
Zeynel Cebeci & Erkut Tekeli
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.
See Also
cross,
px1,
kpx,
sc,
rsc,
hux,
ux,
ux2,
mx,
rrc,
disc,
atc,
cpc,
eclc,
raoc,
dc,
ax,
sax,
wax,
lax,
bx,
ebx,
blxa,
blxab,
lapx,
elx,
geomx,
spherex,
pmx,
mpmx,
upmx,
ox,
ox2,
mpx,
erx,
pbx,
pbx2,
cx,
icx,
smc
Examples
fitfunc = function(x, ...) 2*(x[1]-1)^2 + 5*(x[2]-2)^2 + 10
parent1 = c(1.1, 1.6, 0.0, 1.1, 1.4, 1.2)
parent2 = c(1.2, 0.0, 0.0, 1.5, 1.2, 1.4)
hc(parent1, parent2, fitfunc)