compute_R2HVC {MaOEA}R Documentation

Modified tchebyscheff R2-indicator contribution designed to approximate HV

Description

Compute the R2-HVC from Shang et al.

Usage

compute_R2HVC(
  dataPoints,
  reference,
  weights = NULL,
  alpha = 1,
  nWeight = 300,
  indexOfInterest = 1:ncol(dataPoints)
)

Arguments

dataPoints

The Points coordinate. Each column contains a single point (column major).

reference

The reference point for computing R2-mtch (similar as reference for HV)

weights

The weights/direction to be used to compute the achievement scalarization. Each column contains a single weight vector. If no weight is supplied, weights are generated using Sobol sequences

alpha

Power factor on the gmtch and g*2tch utility functions.

nWeight

Used only when no weights are supplied. The number of weights generated by sobol sequence.

indexOfInterest

individuals to be evaluated. The R2 values will only be reported/returned for these individuals.

Value

The function return R2-indicator contribution of each point.

References

K. Shang, H. Ishibuchi and X. Ni, "R2-based Hypervolume Contribution Approximation," in IEEE Transactions on Evolutionary Computation. doi: 10.1109/TEVC.2019.2909271

Examples

nPointToSample <- 100
nObjective <- 3
points <- matrix(runif(nPointToSample*nObjective), nrow = nObjective) # sample the points
ranks <- nsga2R::fastNonDominatedSorting(t(points)) # non-dominated sorting
points <- points[,ranks[[1]],drop=FALSE] # take only the non-dominated front
nPoints <- ncol(points) # check how many points are on the non-dominated front
reference <- rep(2,nObjective)

compute_R2HVC(points,reference)

[Package MaOEA version 0.6.2 Index]