ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

NSGA-II多目标优化算法讲解(附MATLAB代码)

2021-03-25 20:53:04  阅读:1419  来源: 互联网

标签:NSGA 支配 个体 II MATLAB 小编 排序


小编今天为大家讲解NSGA-II多目标优化算法,提到多目标优化,大家可能第一个就想到NSGA-II算法,今天小编就带领大家解开NSGA-II的神秘面纱。


NSGA-II全称是快速非支配排序遗传算法,这个算法的精髓体现在“快速非支配排序”这7个字上,那么究竟什么是“快速非支配排序”,NSGA-II是如何实现“快速非支配排序”的呢?各位先别急,且听小编慢慢道来,在基于粒子群算法的多目标搜索算法讲解(附MATLAB代码)中,已经讲到,多目标优化问题没有一个所谓的最优解,而是存在一个最优解集。

为了让大家更深入了解NSGA-II算法,小编查阅网上各种大神讲解的资料,终于在知乎上发现一位大神讲解地特别到位,这位大神在知乎上回答的链接如下:

https://www.zhihu.com/question/26990498/answer/35644566

小编觉得这位大神在讲解NSGA-II时,真的讲得太nice了,因此小编决定做一次大自然的搬运工,把这位大神的回答搬运过来。小编建议各位边看代码边体会下面的步骤,效果会更好。

NSGA-II在常规遗传算法上的改进,关键步骤就3步。

1)快速非支配排序算子的设计

多目标优化问题的设计关键在于求取Pareto最优解集。NSGA-II算法中的快速非支配排序是根据个体的非劣解水平对种群分层,其作用是指引搜索向Pareto最优解集方向进行。它是一个循环的适应值分级过程:首先找出群体中非支配解集,记为第一非支配层F,将其所有个体赋予非支配序值irank=1(其中irank是个体i的非支配排序值),并从整个种群中除去;然后继续找出余下群体中非支配解集,记为第二非支配排序层F2,个体被赋予非支配序值irank=2;照此进行下去,直到整个种群被分层,同一分层内的个体具有相同的非支配序值irank。

2)个体拥挤距离算子设计

为了能够在具有相同irank的个体内进行选择性排序,NSGA-II提出了个体拥挤距离的概念。个体i的拥挤距离是目标空间上与i相邻的2个个体i+1和i-1之间的距离,其计算步骤为:

a)对同层的个体初始化距离。令L[i]d=0(其中L[i]d表示任意个体i的拥挤距离);

b)对同层的个体按第m个目标函数值升序排列;

c)使得排序边缘上的个体具有选择优势。给定一个大数M,令L[1]d=L[end]d=M;

d)对排序中间的个体,求拥挤距离:

(其中:L[i+1]m为第i+1个个体的第m目标函数值,和分别为集合中第m目标函数值的最大值和最小值)

e)对不同的目标函数,重复步骤a)~步骤d)操作,得到个体i的拥挤距离L[i]d,通过优先选择拥挤距离较大的个体,可使计算结果在目标空间比较均匀分布,以维持种群的多样性。

3)精英策略选择算子

精英策略即保留父代中的优良个体直接进入子代,以防止获得的Pareto最优解丢失。精英策略选择算子按3个指标对由父代Ci和子代Di合成的种群Ri进行优选,以组成新的父代种群Ci+1。首先淘汰父代中方案校验标志为不可行的方案按照非支配序值irank从低到高排序,将整层种群依次放入Ci+1,直到放入某一层Fj时出现Ci+1大小超过种群规模限制N的情况;最后,依据Fj中的个体拥挤距离由大到小的顺序继续填充Ci+1直到种群数量达到N时终止

下面这个图片能很好的说明NSGA-II的实现过程

图片


最后附上用NSGA-II求解ZDT1函数的MATLAB代码,ZDT1函数如下:

图片


标签:NSGA,支配,个体,II,MATLAB,小编,排序
来源: https://blog.51cto.com/15057852/2672248

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有