Compute the hypervolume metric with respect to a given reference point assuming minimization of all objectives. For 2D and 3D, the algorithm used FonPaqLop06:hypervolume,BeuFonLopPaqVah09:tec has \(O(n \log n)\) complexity. For 4D or higher, it uses a recursive algorithm that has the 3D algorithm as a base case algorithm FonPaqLop06:hypervolume, which has \(O(n^{d-2} \log n)\) time and linear space complexity in the worst-case, but experimental results show that the pruning techniques used may reduce the time complexity even further. Andreia P. Guerreiro improved the integration of the 3D case with the recursive algorithm, which leads to significant reduction of computation time. She has also enhanced the numerical stability of the algorithm by avoiding floating-point comparisons of partial hypervolumes.
Arguments
- x
matrix()
|data.frame()
Matrix or data frame of numerical values, where each row gives the coordinates of a point.- reference
numeric()
Reference point as a vector of numerical values.- maximise
logical()
Whether the objectives must be maximised instead of minimised. Either a single logical value that applies to all objectives or a vector of logical values, with one value per objective.