"Double Geometric" mutation operator for integer parameters: with
probability p
a random geometrically distributed value is added,
and another (different) one subtracted.
mutDoubleGeomScaled
scales sdev
with each component's range and then uses
geomp = (sqrt(2 * sdev^2 + 1) - 1) / sdev^2
.
mutDoubleGeom(ind, p = 1, geomp = 0.9, lower, upper)mutDoubleGeomScaled(ind, p = 1, sdev = 0.05, lower, upper)
[integer]
[integer]
individual to mutate.
[numeric(1)]
per-entry probability to perform mutation.
[numeric]
geometric distribution parameter.
[integer]
lower bounds of ind
values. May have same length as
ind
or may be a single number, if the lower bounds are the same for all
values.
[integer]
upper bounds of ind
values. May have same length as
ind
or may be a single number, if the upper bounds are the same for all
values.
[numeric]
standard deviation, relative to upper - lower
.
Other operators:
mutGaussIntScaled()
,
mutGaussInt()
,
mutGaussScaled()
,
mutPolynomialInt()
,
mutRandomChoice()
,
mutUniformInt()
,
recGaussian()
,
recIntIntermediate()
,
recIntSBX()