为什么对于参考点处于极端的矩形,归一化超音量(S 度量)为零?

Why is normalised hyper volume (S metric) zero for a rectangle with ref point at the extreme?

提问人:dev 提问时间:7/21/2022 更新时间:8/5/2022 访问量:153

问:

为什么这个零是归一化的超音量?

帕累托前线有两点和 .参考点是(415, 110929)(78, 258337)[max(X)+1, max(Y)+1]

python 中的以下代码计算规范化的超音量

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)

我的推理:正如你所看到的,归一化的超体积,在这种情况下应该在0.125左右(这个占主导地位的区域是大小的~八分之一的矩形。占主导地位的区域应该在给予超音量周围(258337-0)*(415-0)(258337-110929)*(415-78) / 20.125)

但实际上,在这种情况下,超音量是!0.0001

有关超卷的更多详细信息,请访问PyGMO网站和以下论文:

齐茨勒、埃卡特和西蒙·昆茨利。“基于指标的选择 多目标搜索。平行问题国际会议 从自然中解决。施普林格,柏林,海德堡,2004年。

Python 优化 Pymoo Pygmo Pareto-Optimality

评论


答:

0赞 pouya aghaeipour 8/5/2022 #1

这里可能有几件事出错。

首先,在计算超音量之前尝试对点进行归一化。这样,您的参考点始终变为 (1,1),因此更容易分析或可视化结果。然后,如果你想象这两个点和参考点,你会发现它们离边界太近了,它们基本上没有占据任何区域......你从侏儒那里得到的结果是准确的。

评论

0赞 Community 8/7/2022
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。