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)