R/SelectorProxy.R
dict_selectors_proxy.Rd
Selector
that performs the operation in its operation
configuration parameter. This is useful, e.g., to make
OptimizerMies
's selection operations fully parametrizable.
operation
:: Selector
Operation to perform. Initialized to SelectorBest
.
This is primed when $prime()
of SelectorProxy
is called, and also when $operate()
is called, to make changing
the operation as part of self-adaption possible. However, if the same operation gets used inside multiple SelectorProxy
objects, then it is recommended to $clone(deep = TRUE)
the object before assigning them to operation
to avoid
frequent re-priming.
This Selector
can be created with the short access form sel()
(sels()
to get a list), or through the the dictionary
dict_selectors
in the following way:
Other selectors:
Selector
,
SelectorScalar
,
dict_selectors_best
,
dict_selectors_maybe
,
dict_selectors_null
,
dict_selectors_random
,
dict_selectors_sequential
,
dict_selectors_tournament
Other selector wrappers:
dict_selectors_maybe
,
dict_selectors_sequential
miesmuschel::MiesOperator
-> miesmuschel::Selector
-> SelectorProxy
prime()
See MiesOperator
method. Primes both this operator, as well as the operator given to the operation
configuration parameter.
Note that this modifies the $param_set$values$operation
object.
param_set
(ParamSet
)
Passed to MiesOperator
$prime()
.
invisible self
.
set.seed(1)
sp = sel("proxy")
p = ps(x = p_dbl(-5, 5))
# dummy data; note that SelectorBest does not depend on data content
data = data.frame(x = rep(0, 5))
fitnesses = c(1, 5, 2, 3, 0)
sp$param_set$values$operation = sel("random")
sp$prime(p)
sp$operate(data, fitnesses, 2)
#> [1] 1 4
sp$param_set$values$operation = sel("best")
sp$operate(data, fitnesses, 2)
#> [1] 2 4