在many-objective的优化算法中,目前很多都是基于reference point的,而这些reference point大部分都是使用的Das的那个方法,也就是在一个单位截距的超平面内生成这些点,这些点的元素和加起来是1。也就是说,任意一个点的元素都是来自:
{0/H,1/H,⋯,H/H}
其中H是在boundary的分区的数量,产生的点的个数是
CHm+H−1
,其中
m
是目标的个数。这个算法现在都基本被基于refernce points的技术所采用,但是有一个问题就是,如果
1:第一次就是使用上面说的方法。然后再在内层生成这些点。
2:内层的生成方法是这样的:
2.1:根据设置的H先在外层生成这些点
2.2:分别用这些点和一个中心点连起来,然后求他们连线的中心点即可。这这个中心点的全部元素值都是等于
1/m
,中心点就是这个点和
1/m
加起来除以2即可。