Two-layer的参考点生成方法

在many-objective的优化算法中,目前很多都是基于reference point的,而这些reference point大部分都是使用的Das的那个方法,也就是在一个单位截距的超平面内生成这些点,这些点的元素和加起来是1。也就是说,任意一个点的元素都是来自:

{0/H,1/H,,H/H}

其中H是在boundary的分区的数量,产生的点的个数是 CHm+H1 ,其中 m 是目标的个数。这个算法现在都基本被基于refernce points的技术所采用,但是有一个问题就是,如果H<m的话生成的参考点只有在boundary上,内部没有产生这些点,但是为了保持diversity的特性,内部还是需要一定的参考点。一个直观的方法就是让 H>m ,但是当 m8 的时候,生成的参考点又非常多,计算代价大啊。那么在NSGA-III中给出了一种方法就是使用two-layer的方法。

1:第一次就是使用上面说的方法。然后再在内层生成这些点。
2:内层的生成方法是这样的:
2.1:根据设置的H先在外层生成这些点
2.2:分别用这些点和一个中心点连起来,然后求他们连线的中心点即可。这这个中心点的全部元素值都是等于 1/m ,中心点就是这个点和 1/m 加起来除以2即可。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值