dict_recombinators_sbx | R Documentation |
Numeric Values between two individuals are recombined via component-wise independent simulated binary crossover. See Deb (1995) for more details.
This operator is applied to all components; It is common to apply the operator to only some randomly
chosen components, in which case the rec("cmpmaybe")
operator should
be used; see examples.
n
:: numeric
Non-negative distribution index of the polynomial distribution for each component.
Generally spoken, the higher n
, the higher the probability of creating near parent values.
This may either be a scalar in which case it is applied to all input components, or a vector,
in which case it must have the length of the input components and applies to components in
order in which they appear in the priming ParamSet
. Initialized to 1.
Supported Domain
classes are: p_int
('ParamInt'), p_dbl
('ParamDbl')
This Recombinator
can be created with the short access form rec()
(recs()
to get a list), or through the the dictionary
dict_recombinators
in the following way:
# preferred: rec("sbx") recs("sbx") # takes vector IDs, returns list of Recombinators # long form: dict_recombinators$get("sbx")
miesmuschel::MiesOperator
-> miesmuschel::Recombinator
-> miesmuschel::RecombinatorPair
-> RecombinatorSimulatedBinaryCrossover
new()
Initialize the RecombinatorSimulatedBinaryCrossover
object.
RecombinatorSimulatedBinaryCrossover$new(keep_complement = TRUE)
keep_complement
(logical(1)
)
Whether the operation should keep both resulting individuals (TRUE
), or only the first and discard
the complement (FALSE
). Default TRUE
.
The $keep_complement
field will reflect this value.
clone()
The objects of this class are cloneable with this method.
RecombinatorSimulatedBinaryCrossover$clone(deep = FALSE)
deep
Whether to make a deep clone.
Deb, Kalyanmoy, Agrawal, Bhushan R, others (1995). “Simulated binary crossover for continuous search space.” Complex systems, 9(2), 115–148.
Other recombinators:
OperatorCombination
,
Recombinator
,
RecombinatorPair
,
dict_recombinators_cmpmaybe
,
dict_recombinators_convex
,
dict_recombinators_cvxpair
,
dict_recombinators_maybe
,
dict_recombinators_null
,
dict_recombinators_proxy
,
dict_recombinators_sequential
,
dict_recombinators_swap
,
dict_recombinators_xonary
,
dict_recombinators_xounif
set.seed(1)
rsbx = rec("cmpmaybe", rec("sbx"), p = 0.5)
p = ps(x = p_dbl(-5, 5), y = p_dbl(-5, 5), z = p_dbl(-5, 5))
data = data.frame(x = 0:5, y = 0:5, z = 0:5)
rsbx$prime(p)
rsbx$operate(data)
rsbx = rec("sbx", n = c(0.5, 1, 10))
rsbx$prime(p)
rsbx$operate(data)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.