| hv_approx | R Documentation |
Approximate the value of the hypervolume metric with respect to a given
reference point assuming minimization of all objectives. Methods
"Rphi-FWE+" and "DZ2019-HW" are deterministic and ignore the parameter
seed, while method="DZ2019-MC" relies on Monte-Carlo sampling
\citepDenZha2019approxhv. All methods tend to get more accurate with
higher values of nsamples, but the increase in accuracy is not monotonic,
as shown in the vignette \HTMLVignettehv_approxApproximating the
hypervolume.
hv_approx(
x,
reference,
maximise = FALSE,
nsamples = 262144L,
seed = NULL,
method = c("Rphi-FWE+", "DZ2019-HW", "DZ2019-MC")
)
x |
|
reference |
|
maximise |
|
nsamples |
|
seed |
|
method |
|
All available methods approximate the hypervolume as a
(m-1)-dimensional integral over the surface of hypersphere
\citepDenZha2019approxhv:
\widehat{HV}_r(A) = \frac{2\pi^\frac{m}{2}}{\Gamma(\frac{m}{2})}\frac{1}{m 2^m}\frac{1}{n}\sum_{i=1}^n \max_{y \in A} s(w^{(i)}, y)^m
where m is the number of objectives, w^{(i)} are weights
uniformly distributed on S_{+}, i.e., the positive orthant of the
(m-1)-D unit hypersphere, n is the number of weights sampled,
\Gamma() is the gamma function gamma(), i.e., the analytical
continuation of the factorial function, and s(w, y) = \min_{k=1}^m (r_k
- y_k)/w_k.
In the default method="Rphi-FWE+" \citepLop2026hvapprox, the weights
w^{(i)}, i=1\ldots n are defined using the deterministic
low-discrepancy sequence R_\phi \citepRob2018unreasonable mapped to
the positive orthant of the hypersphere using a modified version of Fang and
Wang efficient mapping \citepFanWan1994numtheory.
In method="DZ2019-HW" \citepDenZha2019approxhv, the weights
w^{(i)}, i=1\ldots n are defined using a deterministic low-discrepancy
sequence. The weight values depend on their number (nsamples), thus
increasing the number of weights may not necessarily increase accuracy
because the set of weights would be different.
In method="DZ2019-MC" \citepDenZha2019approxhv, the weights
w^{(i)}, i=1\ldots n are sampled from the unit normal vector such that
each weight w = \frac{|x|}{\|x\|_2} where each component of x is
independently sampled from the standard normal distribution
\citepMuller1959sphere.
The original source code in C++/MATLAB for both "DZ2019-HW" and
"DZ2019-MC" methods can be found at
https://github.com/Ksrma/Hypervolume-Approximation-using-polar-coordinate.
Lop2026hvapprox empirically shows that "Rphi-FWE+" typically
produces an approximation error as low as the other methods, with a
computational cost similar to "DZ2019-MC" and significantly faster than
"DZ2019-HW".
A single numerical value.
Manuel López-Ibáñez
x <- matrix(c(5, 5, 4, 6, 2, 7, 7, 4), ncol=2, byrow=TRUE)
hypervolume(x, ref=10)
hv_approx(x, ref=10, method="Rphi-FWE+")
hv_approx(x, ref=10, method="DZ2019-HW")
hv_approx(x, ref=10, seed=42, method="DZ2019-MC")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.