dict_scalors_hypervolume | R Documentation |
Scalor
that returns the hypervolume of each individual, relative to nadir
and as a contribution over baseline
.
The returned scalar value is the measure of all points that have fitnesses that are
greater than the respective value in nadir
in all dimensions, and
smaller than the respective value in the given point in all dimensions, and
greater than all points in baseline
in at least one dimension.
baseline
should probably be a paradox::ContextPV
and generate fitness values from the Archive
in the context using mies_get_fitnesses
.
scale_output
:: logical(1)
Whether to scale output to lie between 0 and 1.
nadir
:: numeric
Nadir of fitness values relative to which hypervolume ution is calculated.
baseline
:: matrix
Fitness-matrix with one column per objective, giving a population over which the hypervolume improvement should be calculated.
Supported Domain
classes are: p_lgl
('ParamLgl'), p_int
('ParamInt'), p_dbl
('ParamDbl'), p_fct
('ParamFct')
This Scalor
can be created with the short access form scl()
(scls()
to get a list), or through the the dictionary
dict_scalors
in the following way:
# preferred: scl("hypervolume") scls("hypervolume") # takes vector IDs, returns list of Scalors # long form: dict_scalors$get("hypervolume")
miesmuschel::MiesOperator
-> miesmuschel::Scalor
-> ScalorHypervolume
new()
Initialize the ScalorHypervolume
object.
ScalorHypervolume$new()
clone()
The objects of this class are cloneable with this method.
ScalorHypervolume$clone(deep = FALSE)
deep
Whether to make a deep clone.
Other scalors:
Scalor
,
dict_scalors_aggregate
,
dict_scalors_domcount
,
dict_scalors_fixedprojection
,
dict_scalors_nondom
,
dict_scalors_one
,
dict_scalors_proxy
,
dict_scalors_single
sv = scl("hypervolume")
p = ps(x = p_dbl(-5, 5))
# dummy data; note that ScalorHV does not depend on data content
data = data.frame(x = rep(0, 5))
fitnesses = matrix(c(1, 5, 2, 3, 0, 3, 1, 0, 10, 8), ncol = 2)
sv$param_set$values$baseline = matrix(c(1, 1), ncol = 2)
sv$param_set$values$nadir = c(0, -1)
sv$prime(p)
sv$operate(data, fitnesses)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.