Skip to content

Commit a80dd88

Browse files
committed
Mention Andrea's improvement to the hypervolume algorithm.
1 parent 4ba7482 commit a80dd88

File tree

3 files changed

+23
-9
lines changed

3 files changed

+23
-9
lines changed

python/src/moocore/_moocore.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -341,11 +341,15 @@ def hypervolume(
341341
Compute the hypervolume metric with respect to a given reference point
342342
assuming minimization of all objectives. For 2D and 3D, the algorithm used
343343
:footcite:p:`FonPaqLop06:hypervolume,BeuFonLopPaqVah09:tec` has :math:`O(n
344-
\log n)` complexity. For 4D or higher, the algorithm
345-
:footcite:p:`FonPaqLop06:hypervolume` has :math:`O(n^{d-2} \log n)` time
346-
and linear space complexity in the worst-case, but experimental results
347-
show that the pruning techniques used may reduce the time complexity even
348-
further.
344+
\log n)` complexity. For 4D or higher, it uses a recursive algorithm that
345+
has the 3D algorithm as a base case :footcite:p:`FonPaqLop06:hypervolume`,
346+
which has :math:`O(n^{d-2} \log n)` time and linear space complexity in the
347+
worst-case, but experimental results show that the pruning techniques used
348+
may reduce the time complexity even further. Andreia P. Guerreiro improved
349+
the integration of the 3D case with the recursive algorithm, which leads to
350+
significant reduction of computation time. She has also enhanced the
351+
numerical stability of the algorithm by avoiding floating-point comparisons
352+
of partial hypervolumes.
349353
350354
Parameters
351355
----------

r/R/hv.R

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@
33
#' Compute the hypervolume metric with respect to a given reference point
44
#' assuming minimization of all objectives. For 2D and 3D, the algorithm used
55
#' \citep{FonPaqLop06:hypervolume,BeuFonLopPaqVah09:tec} has \eqn{O(n \log n)}
6-
#' complexity. For 4D or higher, the algorithm \citep{FonPaqLop06:hypervolume}
6+
#' complexity. For 4D or higher, it uses a recursive algorithm that has the 3D
7+
#' algorithm as a base case algorithm \citep{FonPaqLop06:hypervolume}, which
78
#' has \eqn{O(n^{d-2} \log n)} time and linear space complexity in the
89
#' worst-case, but experimental results show that the pruning techniques used
9-
#' may reduce the time complexity even further.
10+
#' may reduce the time complexity even further. Andreia P. Guerreiro improved
11+
#' the integration of the 3D case with the recursive algorithm, which leads to
12+
#' significant reduction of computation time. She has also enhanced the
13+
#' numerical stability of the algorithm by avoiding floating-point comparisons
14+
#' of partial hypervolumes.
1015
#'
1116
#' @inherit epsilon params return
1217
#'

r/man/hypervolume.Rd

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)