| dict_recombinators_sbx {miesmuschel} | R Documentation |
Simulated Binary Crossover Recombinator
Description
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.
Configuration Parameters
-
n::numeric
Non-negative distribution index of the polynomial distribution for each component. Generally spoken, the highern, 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 primingParamSet. Initialized to 1.
Supported Operand Types
Supported Domain classes are: p_int ('ParamInt'), p_dbl ('ParamDbl')
Dictionary
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")
Super classes
miesmuschel::MiesOperator -> miesmuschel::Recombinator -> miesmuschel::RecombinatorPair -> RecombinatorSimulatedBinaryCrossover
Methods
Public methods
Inherited methods
Method new()
Initialize the RecombinatorSimulatedBinaryCrossover object.
Usage
RecombinatorSimulatedBinaryCrossover$new(keep_complement = TRUE)
Arguments
keep_complement(
logical(1))
Whether the operation should keep both resulting individuals (TRUE), or only the first and discard the complement (FALSE). DefaultTRUE. The$keep_complementfield will reflect this value.
Method clone()
The objects of this class are cloneable with this method.
Usage
RecombinatorSimulatedBinaryCrossover$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
References
Deb, Kalyanmoy, Agrawal, Bhushan R, others (1995). “Simulated binary crossover for continuous search space.” Complex systems, 9(2), 115–148.
See Also
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
Examples
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)