浅谈NSGA-Ⅱ非支配排序方法

浅谈NSGA-Ⅱ非支配排序方法

前言
本人发布过一篇NSGA-Ⅱ算法,是用Matlab实现的,并非本人原创,是转发其他博主的文章,个人觉得写的特别好,有很好的借鉴意义,具体代码实现详见本人博客链接:https://blog.csdn.net/qq_42552806/article/details/105822749。
主题
近来随着对该算法的深入研究,我有几点思考记录在此,以便日后查看。以下内容若有幸得到大佬指点,感激不尽。如题所示,本人在此主要探讨该算法的非支配排序方法,不对该算法中的其他算子进行说明。
正文
我在编写该算法的时候,遇到的一个问题是:调试的时候为什么种群分层之后的图像波动性非常强?如下图1所示。本文仅有两个目标函数:目标函数1为左子图,为最大化函数:目标函数2为右子图,为最小化函数。
*图1 规模为100的种群分层后的图像*
为解决这个问题,我将种群规模降为6个,最终调试信息如下表1所示。
表1:种群规模为6时的解信息
解集下标 目标函数1 目标函数2 被该解支配的解集合S 支配该解的解个数n 与该解无差异的解

解集下标目标函数1目标函数2被该解支配的解集合S支配该解的解个数n与该解无差异的解
[0]-248749809794.1323633345667647.88343[1]、[2]、[5]Null[3]、[4]
[1]-248749980764.3165655989448959.017555Null[0][2]、[3]、[4]、[5]
[2]-2487499832058.0933298066460554.5226Null[0]、[5][1]、[3]、[4]
[3]-248749740763.32748260089873394.22165[4]Null[0]、[1]、[2]、[5]
[4]-248749782493.80481391504391232.41193Null[3][0]、[1]、[2]、[5]
[5]-248749818446.1857696148804155.86333[2][0][1]、[3]、[4]

从表中,我们不难看出:
1)非支配解为[0]和[3],但是[0]与[3]、[4]为无差异解,但[4]并不是非支配解,这就得到一个结论:与非支配解x无差异的解不一定也是非支配解。
2)这六个解分层后的顺序为:
第一层:[0] [3]
第二层:[1] [4] [5]
第三层:[2]
被解[4]支配的解集合为Null,但解[4]不是最后一层,由此得出另一个结论:被解x支配的解集合为Null时,并不代表该解为最后一层解。
那么,如何解释上述问题呢?原因很简单,上述结论1)就是答案。虽然解[0]在非支配层,解[4]在第二层,但由于解[0]与[4]的无差异性,解[0]对应的目标函数1虽然劣于解[4]对应的目标函数1,但是目标函数2却相反,这在图2中得到了很好的展示。
*图2 规模为6的种群分层后的图像*
总结
在多目标求解中,往往很难得到最优解,均衡满意解是其追求的目标,而不是某一个目标函数值达到最优即可;虽然其分层图波动性较大,但不影响其Pareto解集的优越性,因为相应的Pareto前沿一定是均衡意义上最好的解集,这个解集里的元素是无差异的,属于非劣解集。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值