dict_scalors_domcount {miesmuschel} | R Documentation |
Scalor Counting Dominating Individuals
Description
Scalor
that returns a the number of (weakly, epsilon-) dominated or dominating individuals for each individuum.
Configuration Parameters
-
output
::character(1)
What to count: individuals that are being dominated by the point under consideration("count_dominated"
), or individuals that do not dominate the point under consideration ("count_not_dominating"
). In both cases, a larger output means the individual is "better", in some way, according to the fitness values. Initialized with"count_not_dominating"
. -
epsilon
::numeric
Epsilon-value for non-dominance, as used byrank_nondominated
. Initialized to0
. -
jitter
::logical(1)
Whether to add random jitter to points, with magnitudesqrt(.Machine$double.eps)
relative to fitness values. This is used to effectively break ties. -
scale_output
::logical(1)
Whether to scale output by the total numberof individuals, giving output between0
and1
(inclusive) whenTRUE
or integer outputs ranging from 0 andnrow(fitnesses)
(inclusive) whenFALSE
. Initialized toTRUE
.
Supported Operand Types
Supported Domain
classes are: p_lgl
('ParamLgl'), p_int
('ParamInt'), p_dbl
('ParamDbl'), p_fct
('ParamFct')
Dictionary
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("domcount") scls("domcount") # takes vector IDs, returns list of Scalors # long form: dict_scalors$get("domcount")
Super classes
miesmuschel::MiesOperator
-> miesmuschel::Scalor
-> ScalorDomcount
Methods
Public methods
Inherited methods
Method new()
Initialize the ScalorNondom
object.
Usage
ScalorDomcount$new()
Method clone()
The objects of this class are cloneable with this method.
Usage
ScalorDomcount$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
See Also
Other scalors:
Scalor
,
dict_scalors_aggregate
,
dict_scalors_fixedprojection
,
dict_scalors_hypervolume
,
dict_scalors_nondom
,
dict_scalors_one
,
dict_scalors_proxy
,
dict_scalors_single
Examples
p = ps(x = p_dbl(-5, 5))
data = data.frame(x = rep(0, 5))
sd = scl("domcount")
sd$prime(p)
(fitnesses = matrix(c(1, 5, 2, 3, 0, 3, 1, 0, 10, 8), ncol = 2))
# to see the fitness matrix, use:
## plot(fitnesses, pch = as.character(1:5))
# note that for both 2 and 4, all points do not dominate them
# their value is therefore 1
sd$operate(data, fitnesses)
sd$param_set$values$scale_output = FALSE
sd$operate(data, fitnesses)
sd$param_set$values$output = "count_dominated"
# point 4 dominates three other points, point 2 only one other point.
sd$operate(data, fitnesses)