Why is normalised hyper volume for this zero?
The Pareto front has two points (415, 110929) and (78, 258337). The reference point is [max(X)+1, max(Y)+1]
The following code in python calculates the normalised hyper volume
X = [415, 78]
Y = [110929, 258337]
df = pd.DataFrame(data=zip(X, Y))
ref_point = [max(X)+1, max(Y)+1]
data = df.to_numpy()
hyp = pg.hypervolume(data)
print(hyp.compute(ref_point))
hv_normlalised = hyp.compute(ref_point) / np.prod(ref_point)
print(hv_normlalised)
My Reasoning: As you can see the normalised hypervolume, in this case should be around 0.125 (This area dominated is a ~one-eighth the rectangle of size (258337-0)*(415-0). The dominated area should be around (258337-110929)*(415-78) / 2 giving hyper volume as 0.125)
But in fact, the hyper volume in this case is 0.0001!
More details on hyper volume can be found on PyGMO website and in the following paper:
Zitzler, Eckart, and Simon Künzli. "Indicator-based selection in multiobjective search." International conference on parallel problem solving from nature. Springer, Berlin, Heidelberg, 2004.