NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt

上传人:小飞机 文档编号:2003648 上传时间:2022-12-30 格式:PPT 页数:36 大小:1.46MB
返回 下载 相关 举报
NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt_第1页
第1页 / 共36页
NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt_第2页
第2页 / 共36页
NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt_第3页
第3页 / 共36页
NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt_第4页
第4页 / 共36页
NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt》由会员分享,可在线阅读,更多相关《NSGAⅡ算法大量测试函数实验结果展示ppt课件.ppt(36页珍藏版)》请在三一办公上搜索。

1、多目标进化优化算法基础篇 NSGA-算法,金盼2012年04月,Pareto最优解,图片来源:基于双极偏好的多目标粒子群算法及应用研究,1、pareto最优解又称非支配解、非占优解,pareto最优解集又称非劣解、非支配解集、非占优解集2、左图为最小化的两目标优化问题的最终pareto前沿分布示意图,则f1和f2目标值均为越小越优,实线和虚线组成部分为可行域,实线表示pareto前沿面,也就是所有pareto最优解对应的目标矢量组成的曲面,一个多目标优化问题对应一个pareto前沿面。3、A、B、C三点位于pareto前沿面上,该三点的解为pareto最优解,他们三者之间不存在支配或是占优关系

2、。D、E、F三点的解为可行解,非pareto最优解。4、A点的解支配F点的解,或是相比F点的解,A点的解是pareto占优。同样B和C点与D、E、F点之间存在支配关系或是占优关系,多目标进化优化领域的一些主要算法 Coello Coello总结方式,第一代多目标进化优化算法:(1)MOGA(多目标优化遗传算法)(2)NSGA(非支配排序多目标优化遗传算法)(3)NPGA(小生境pareto多目标优化遗传算法)主要特点:基于非支配排序选择、小生境(共享函数)多样性保持 主要问题:如何将进化算法与多目标优化问题有机地结合第二代多目标进化优化算法:(1)SPEA(Pareto强度多目标进化算法)和S

3、PEA2、(2)PAES(精英保留进化策略)、PESA和PESA-、(3)NSGA-(是迄今为止最优秀的多目标进化优化算法之一) 主要特点:精英保留机制、以及基于聚类、拥挤距离、空间超格等方法多样性保持 主要问题:算法的效率问题,如何处理高维多目标优化问题,参考文献:进化多目标优化算法研究,多目标进化优化算法一般流程,随机产生初始种群P,P用EA进化算法得到G,构造PG的非支配解集NDset,调整非支配解集NDset规模并使之满足分布性要求,是否满足终止条件,P=NDset,输出结果,结束,是,否,如何构造非支配集,1、采用何种策略来调整非支配集的规模2、如何保持非支配集的多样性和分布性,终止

4、条件:多人为设定,迭代次数限定或是迭代多次,最优值没有变化。迭代多次的原因,无法判断迭代次数较少时,出现的最优解是否为真正的最优解。,NSGA-算法,NSGA主要问题:1、构造pareto最优解集计算复杂度太高,为O( ),m为目标个数,N为种群大小2、需预先设定共享参数3、没有采取外部种群策略(即精英保留机制),NSGA-改进情况:1、快速非支配解排序2、基于拥挤距离保持解集多样性3、引入精英保留机制保持优良个体,改进,NSGA-算法快速非支配解排序,非支配解排序:首先是每个个体跟种群里面的其它个个体进行支配关系比较,是否支配其它全部个体,复杂度为O(mN);循环进行直到等级1中非支配个体全

5、部搜索到,复杂度为O( );最坏的情况下,有N个等级,每个等级只存在一个解,复杂度为O( ),快速非支配解排序:左图为排序思路,前半段红框是个体之间支配关系的比较,引入Sp存放和np记录,循环得到等级1;后半段红框循环得到等级2、等级3.复杂度为O( ),NSGA-算法基于拥挤距离保持解集多样性,一个个体的拥挤距离:是通过计算与其相邻的两个个体在每个子目标函数上的距离差之和来求取。图中所示为两个子目标情况下:个体i的拥挤距离即图中虚线四边形的长与宽之和,拥挤比较运算符(Crowed-Comparison Operator):,IF 两个个体属于不同等级的非支配解集,优先考虑等级序号较小的OR

6、若两个个体属于同一等级的非支配解集,优先考虑拥挤距离较大的,NSGA- procedure:,1、随机产生一个初始父代Po,在此基础上采用二元锦标赛选择、交叉和变异操作产生子代Qo, Po 和Qo群体规模均为N2、将Pt和Qt并入到Rt中(初始时t=0),对Rt进行快速非支配解排序,构造其所有不同等级的非支配解集F1、F2.3、按照需要计算Fi中所有个体的拥挤距离,并根据拥挤比较运算符构造Pt+1,直至Pt+1规模为N,图中的Fi为F3,NSGA-算法应用篇,MATLAB -nsga_2.m 无约束问题 (unconstrained)Copyright (c) 2009, Aravind Se

7、shadri,C -nsga2.c 无约束&约束问题 (unconstrained&constrained)Copyright (c) 2003, Kalyanmoy Deb,nsga_2.m(主函数),initialize_variables.m(初始化种群),non_domination_sort_mod.m(初始种群排序),tournament_selection.m(锦标赛选择) genetic_operator.m(遗传操作)non_domination_sort_mod.m(非支配解集排序)replace_chromosome.m(替代种群),开始进化过程,如上图所示,蓝色曲线是经

8、典测试函数ZDT1用NSGA-算法得到的pareto前沿面,主要参数pop=500,gen=500,n=30,var-domain=0,1,fun=2;红色曲线是经典测试函数ZDT1的理想pareto前沿面,pop=500个,理想pareto前沿面数据来源:http:/www.cs.cinvestav.mx/emoobook/,M,C,ZDT1,如上图所示,蓝色曲线是经典测试函数ZDT2用NSGA-算法得到的pareto前沿面,主要参数pop=500,gen=500,n=30,var-domain=0,1,fun=2;红色曲线是经典测试函数ZDT2的理想pareto前沿面,pop=500个,理

9、想pareto前沿面数据来源:http:/www.cs.cinvestav.mx/emoobook/,M,C,ZDT2,如上图所示,蓝色曲线是经典测试函数ZDT3用NSGA-算法得到的pareto前沿面,主要参数pop=500,gen=500,n=30,var-domain=0,1,fun=2;红色曲线是经典测试函数ZDT3的理想pareto前沿面,pop=136个,理想pareto前沿面数据来源:http:/www.cs.cinvestav.mx/emoobook/,M,C,ZDT3,如上图所示,蓝色曲线是经典测试函数ZDT4用NSGA-算法得到的pareto前沿面,主要参数pop=200,

10、n=10,fun=2;红色曲线是经典测试函数ZDT4的理想pareto前沿面,pop=200个。变量个数超过3个的时候,f2对应的值比上图显示的值更大。,ZDT4区别于ZDT1-3的是变量范围不同,ZDT1-3的变量范围都为xi=0,1,而ZDT4的变量范围为x1=0,1,xi=-5,5,所以需要修改代码,修改m文件为initialize_variables.m和genetic_operator.m,将区间范围改为-5,5,从第二个变量开始循环,第一个变量复制循环代码中的语句,另外设置区间范围大小。,n=3,gen=500,n=3,gen=200,M,理想pareto前沿面数据来源:http:

11、/www.cs.cinvestav.mx/emoobook/,参考文献:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA-,ZDT4问题有 个不同的局部pareto最优前沿,其中只有一个对应全局pareto最优前沿。,该文献作者一开始也有对NSGA-算法下各个测试函数收敛度的讨论,收敛性度量值计算过程,首先从理想pareto最优前沿取H=500的解集合。然后计算由某个算法得到的每一个解与H集合中解的最小欧几里德距离。这些距离的平均值用来表示收敛性度量,文献给出Mean和Variance两个距离评价指标。收敛性度量值越小,越好收

12、敛于理想pareto最优前沿。如果某个算法得到的解几乎全部位于H集合中,那么收敛度量值为0,参考文献:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA-,按照上述收敛性度量判断规则可以看出,ZDT4在NSGA-(二进制编码)算法下收敛性不是很好,很难收敛到理想的pareto最优前沿。问题:NSGA-(实数编码)仿真效果,V=10 gen=500 pop=500,V=10 gen=250 pop=100,参考文献:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA

13、-,C,=0.0027 =0.000017733,ZDT4,如上图所示,蓝色曲线是经典测试函数ZDT6用NSGA-算法得到的pareto前沿面,主要参数pop=500,gen=500,n=10,var-domain=0,1,fun=2;红色曲线是经典测试函数ZDT6的理想pareto前沿面,pop=2992个,理想pareto前沿面数据来源:http:/www.cs.cinvestav.mx/emoobook/,C,M,ZDT6,pop=2500 pop=4106,参考文献:进化多目标优化算法研究,理想pareto前沿面,如上图所示,蓝色+是经典测试函数DTLZ1和DTLZ3用NSGA-算法得

14、到的pareto前沿面,主要参数pop=500,gen=500,n=12,var-domain=0,1,fun=3;红色部分是经典测试函数DTLZ1和DTLZ3的pareto前沿。可以看出这两个测试函数用NSGA-算法没办法收敛到理想pareto前沿面。,M,M,NSGA-(实数编码),gen=500 , pop=500 ,n=12,var-domain=0,1,fun=3;,C,C,Convergence metric?,gen=500 pop=100 刚好为50000次评价次数内,收敛指标:公茂果 等 使用的是最小归一化欧式距离的平均值Mean1 Deb 等使用的是最小欧式距离的平均值Me

15、an2评价准则:指标值越低,表明算法得到的解收敛性越好,越接近 理想pareto前沿面备注:收敛性指标是用来比较各种EA算法得到解的收敛性情况,C,如上图所示,蓝色+/.是经典测试函数DTLZ2用NSGA-算法得到的pareto前沿面,红色曲面是经典测试函数DTLZ2的理想pareto前沿面,pop=40000个,M,C,理想pareto前沿面数据来源:http:/www.cs.cinvestav.mx/emoobook/,gen=1000,pop=500 gen=500,pop=500,n=12,var-domain=0,1,fun=3,DTLZ2,gen=200 gen=500,如上图所示

16、,蓝色+是经典测试函数DTLZ4用NSGA-算法得到的pareto前沿面,主要参数pop=500,n=12,var-domain=0,1,fun=3;红色曲面是经典测试函数DTLZ4的理想pareto前沿面,pop=4106个备注:DTLZ4当迭代参数调整为500代时,仿真效果不是很好,pareto前沿分布不够均匀。,M,M,理想pareto前沿面数据来源:http:/www.cs.cinvestav.mx/emoobook/,DTLZ4,NSGA-(实数编码),gen=500 pop=500,C,n=12,var-domain=0,1,fun=3,nsga2code源代码由17个头文件和1个

17、源文件组成,random.h /*Random Number Generator*/input.h /*File Takes Input from user*/realinit.h /*Random Initialization of the populaiton*/init.h /*Random Initialization of the population*/ decode.h /*File decoding the binary dtrings*/ranking.h /*File Creating the Pareto Fronts*/rancon.h /*File Creating

18、the Pareto Fronts when Constraints are specified*/func-con.h /*File Having the Function*/select.h /*File for Tournament Selection*/roullette.h /*the roulette wheel selection*/crossover.h /*Binary Cross-over*/uniformxr.h /*Uniform Cross-over*/realcross2.h /*Real Cross-over*/mut.h /*Binary Mutation*/r

19、ealmut1.h /*Real Mutation*/keepaliven.h /*File For Elitism and Sharing Scheme*/report.h /*Printing the report*/,代码来源:http:/www.iitk.ac.in/kangal/codes.shtml,Original Implementation,参考文献:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA-,nsga2-v1.1源代码由2个头文件和19个源文件组成,Revision1.1,函数修改文件:proble

20、mdef.c参数修改文件:nsga2r.c修正版1.1实际操作更加简便,参考文献:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA-,约束测试函数如下表,nobj=2 ncon=2 nreal=2,gen=500 popsize=100,左图来源:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA-,CONSTR,C,gen=500 popsize=100,左图来源:A Fast and Elitist Multiobjective Genetic Algori

21、thm : NSGA-,SRN,C,gen=500 popsize=100,左图来源:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA-,TNK,C,参考文献:A Fast and Elitist Multiobjective Genetic Algorithm : NSGA-,nobj=5 ncon=7 nreal=3,C,Normalized,NSGA-2对于高维多目标优化问题求解效果,一般指目标个数大于5的多目标优化问题,参考文献:A Fast and Elitist Multiobjective Genetic Alg

22、orithm : NSGA-,参考文献:进化多目标优化算法研究,DTLZ问题能够扩展到任意多个目标,从而能够很好地扩展为高维多目标优化问题,是目前采用得最多的测试问题之一。 这里主要选择DTLZ1和DTLZ2进行讨论NSGA-2对高维多目标问题求解效果。将维数扩展到4维和5维进行比较和讨论。,NSGA-2对于高维多目标优化问题求解效果,参考书本:郑金华多目标进化算法及其应用P190-191,DTLZ1测试问题取得Pareto最优边界时,对应着属于Xm的所有xi的值都为0.5,目标函数的值处于满足 的线性超平面。该问题难以收敛到Pareto最优边界。DTLZ2测试问题的Pareto最优边界对应着Xm中所有的xi都取0.5,且目标函数值满足 ,该问题能用来测试一个MOEA在增加目标个数时的运算能力。,Xm表示决策变量后的变量集合,个数k=n-M+1,gen=500,pop=500,3维情况下的收敛度:,3维情况下的收敛度:,4、5维函数gx循环开始数未更改,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号