拥挤距离在多目标优化中被广泛使用,它是“种群中围绕特定解的解的密度”[1]的度量万博 尤文图斯
在文献中给出了确定拥挤距离的方法
“人群距离计算需要根据每个目标函数值按数量级升序对人群进行排序。然后,对每个目标函数,赋予边界解(函数值最小和函数值最大的解)一个无限距离值。万博 尤文图斯所有其他中间解的距离值等于相邻两个解的函数值归万博 尤文图斯一化的绝对差值。这一计算继续与其他目标函数。总体的人群距离值是由每个目标对应的个体距离值的总和计算出来的。”[1]
因此,对于给定的数据集,拥挤距离必须是唯一的。然而,一些最常见的实现[2,3,4]似乎不能适当地计算拥挤距离。
在本次提交中,我们确定了涉及4个点和3个目标的两个数据集的拥挤距离。这四个点都是非支配解。万博 尤文图斯dataset1和dataset2之间的唯一区别是交换了其中的两行。
根据拥挤距离的定义,dataset1和dataset2都应该具有相同的拥挤距离。然而,使用MATLAB的“距离拥挤”函数会产生两种不同的结果。
同样的问题在Aravind Sheshadri[3]代码和PLATEMO软件[4]中普遍存在
引用:
一种快速的精英多目标遗传算法:NSGA-II,
进化计算学报,6(2):182-197
http://ieeexplore.ieee.org/document/996017/
[2]https://in.mathworks.com/help/gads/genetic-algorithm-options.html
[3]https://in.mathworks.com/matlabcentral/fileexchange/10429-nsga-ii--a-multi-objective-optimization-algorithm
函数non_domination_sort_mod
[4] PlatEMO:进化多目标优化的MATLAB平台[教育论坛],IEEE计算智能杂志,2017,12(4):73-87
http://bimk.ahu.edu.cn/index.php?s=/Index/Software/index.html- PlatEMO v1.5 (2017/11/24)
函数CrowdingDistance.m
引用作为
SKS实验室(2022)。拥挤距离的计算(//www.tianjin-qmedu.com/matlabcentral/fileexchange/65809-on-the-calculation-of-crowding-distance), MATLAB中央文件交换。检索.