scalarizer_chebyshev: Chebyshev Scalarizer

View source: R/ScalorFixedProjections.R

scalarizer_chebyshevR Documentation

Chebyshev Scalarizer

Description

Constructs a Scalarizer that does Chebyshev scalarization, as employed in ParEGO by Knowles (2006).

The Chebyshev scalarization for a single individual with fitness values f and given weight vector w is min(w * f) + rho * sum(w * f), where rho is a hyperparameter given during construction.

Usage

scalarizer_chebyshev(rho = 0.05)

Arguments

rho

(numeric(1))
Small positive value.

Value

a Scalarizer object.

References

Knowles, Joshua (2006). “ParEGO: A hybrid algorithm with on-line landscape approximation for expensive multiobjective optimization problems.” IEEE Transactions on Evolutionary Computation, 10(1), 50–66.

See Also

Other Scalarizers: Scalarizer, scalarizer_linear()

Examples

# fitnesses: three rows (i.e. thee indivs) with two objective values each
fitnesses <- matrix(0:5, ncol = 2)

# weights: contains one matrix for each row of 'fitnesses' (i.e. each indiv)
# which get multiplied with their respective row.
weights <- list(
 matrix(c(1, 0, 0, 1), ncol = 2),
 matrix(c(1, 2, 0, 0), ncol = 2),
 matrix(c(0, 1, 0, 1), ncol = 2)
)

sc <- scalarizer_chebyshev()

# The resulting row-vectors are the different scalarizations according to the
# columns in the 'weights' matrices.
sc(fitnesses, weights)

sc <- scalarizer_chebyshev(rho = 0.1)
sc(fitnesses, weights)

miesmuschel documentation built on Sept. 11, 2024, 8:23 p.m.