mies_prime_operators {miesmuschel} | R Documentation |
Prime MIES Operators
Description
Prime the given MiesOperator
s for an optimization run with the given search space.
In its simplest form, MIES optimization only optimizes the search space of the Objective
to be optimized. However,
more advanced optimization may handle a "budget" parameter for multi-fidelity optimization differently: It is still selected by Selector
s,
but not mutated or recombined and instead handled separately. It is also possible to add additional components to the search space that are
not evaluated by the objective function, but that are used for self-adaption by other operators.
The mies_prime_operators()
function uses the information that the user usually has readily at hand – the Objective
s search space, the budget parameter, and additional components -- and primes [
Mutator], [
Recombinator], and [
Selector'] objects in the right way:
-
Selector
s are primed on a union ofsearch_space
andadditional_components
-
Mutator
s andRecombinator
s are primed on theSelector
's space with thebudget_id
Domain
removed.
mies_prime_operators()
is called with an arbitrary number of MiesOperator
arguments; typically one Mutator
, one Recombinator
and
at least two Selector
: one for survival selection, and one parent selection. Supplied MiesOperator
s are primed by-reference, but
they are also returned as invisible list
.
If neither additional components nor multi-fidelity optimization is used, it is also possible to use the $prime()
function of hte MiesOperator
s
directly, although using mies_prime_operators()
gives flexibility for future extension.
Usage
mies_prime_operators(
search_space,
mutators = list(),
recombinators = list(),
selectors = list(),
filtors = list(),
...,
additional_components = NULL,
budget_id = NULL
)
Arguments
search_space |
( |
mutators |
( |
recombinators |
( |
selectors |
( |
filtors |
( |
... |
(any) |
additional_components |
( |
budget_id |
( |
Value
invisible
named list
with entries $mutators
(list
of Mutator
, primed mutators
), $recombinators
(list
of Recombinator
, primed recombinators
),
and $selectors
(list
of Selector
, primed selectors
).
Examples
# Search space of a potential TuningInstance for optimization:
search_space = ps(x = p_dbl(), y = p_dbl())
# Additoinal search space components that are not part of the TuningInstance
additional_components = ps(z = p_dbl())
# Budget parameter not subject to mutation or recombination
budget_id = "y"
m = mut("gauss")
r = rec("xounif")
s1 = sel("best")
s2 = sel("random")
f = ftr("null")
mies_prime_operators(search_space, mutators = list(m),
recombinators = list(r), selectors = list(s1, s2), filtors = list(f),
additional_components = additional_components, budget_id = budget_id
)
# contain search_space without budget parameter, with additional_components
m$primed_ps
r$primed_ps
# contain also the budget parameter
s1$primed_ps
s2$primed_ps
f$primed_ps