基于差分进化与NSGA-Ⅱ的多目标优化算法
2020-04-11
来源:意榕旅游网
第42卷 第11期 Vo1.42 NO.11 计算机工程 2016年11月 November 2016 Computer Engineering ・人工智能及识别技术・ 文章编号:1000.3428{2016)11-0219-06 文献标志码:A 中图分类号:TP18 基于差分进化与NSGA.II的多目标优化算法 陶文华,刘洪涛 (辽宁石油化工大学信息与控制工程学院,辽宁抚顺113001) 摘 要:为避免多目标优化过程中子目标相互冲突,提高Pareto最优解的质量,提出一种基于差分进化(DE)和第 二代非支配遗传算法(NSGA—lI)的混合算法。采用带有自适应参数的DE算法对初始种群进行变异和交叉操作, 以提高种群的多样性。应用新种群标记策略对DE的初始种群和测试种群进行支配得到新种群,并标记其中每个 个体,使DE能够处理多目标问题。将新种群作为NSGA.I1的初始种群,通过NSGA—II产生下一代种群,进一步提 升Pareto最优解的质量。使用4个基准多目标函数进行测试,结果表明,与NSGA-Ⅱ和SADE算法相比,该算法的 收敛速度更快,Pareto最优解集空间分布更均匀。 关键词:多目标优化;混合算法;自适应参数;Pareto最优解;收敛速度;空间分布 中文引用格式:陶文华,刘洪涛.基于差分进化与NSGA一Ⅱ的多目标优化算法[J].计算机工程,2016,42(11):219—224. 英文引用格式:Tao Wenhua,Liu Hongtao.Multi—objective Optimization Algorithm Based on Differential Evolution and NSGA一11[J].Computer Engineering,2016,42(1 1):219—224. Multi・objective Optimization Algorithm Based on Differential Evolution and NSGA.II TAO Wenhua,LIU Hongtao (School of Information and Control Engineering,Liaoning Shihua University,Fushun,Liaoning 1 1 300 1,China) 【Abstract】In order to avoid conflict between the sub objectives and improve the quality of Pareto optimal solution for the multi-objective optimization problem,a Hybrid algorithm based on Differential Evolution(DE)and Non—dominated Sorting Genetic AlgorithmⅡ(HDE-NSGA-II)is proposed.First of all,DE algorithm with self—adaptive parameters is used for mutation and crossover operations of initial population,SO that population diversity is improved.Secondly,a new population marking strategy is adopted to dominate the initial population and testing population of DE to obtain a new population whose individuals are marked.The strategy enables DE tO dispose multi-objective problem.Finally,the new population,as the initial population of NSGA-1I,will generate the next generation population by NSGA—II.The quality of Pareto optimal solutions will be further promoted by this step.Four multi—objective benchmark functions are tested by HDE-NSGA—II,NSGA—II and SADE.Experimental results show that the convergence rate of the proposed algorithm is faster and the spatial distributions of Pareto optimal solution set is more uniform than the other two algorithms. 【Key words】multi—objective optimization;hybrid algorithm;self—adaptative parameter;Pareto optimal solution; convergence rate;spatial distribution DOI:10.3969/j.issn.1000—3428.2016.1 1.036 0概述 差分进化(Differential Evolution,DE)算法…是 种新兴进化计算技术,它由美国Berkeley大学的 Store和Price于1995年提出。经研究发现DE算法 能有效解决复杂非线性优化问题。DE采用实数编 一码,能够实现全局搜索,简单易行,其特有的记忆种 群最优个体的能力,使得算法有较好的鲁棒性和较 强的收敛性。近年来,DE得到了较大发展。文 献[2]提出的算法采用DE进行全局搜索,增强了整 个算法的鲁棒性。文献[1,3]通过改进DE的变异 或交叉参数增强算法的自适应性。文献[4]提出 基金项目:国家自然科学基金(61473140,61203021)。 作者简介:陶文华(1972一),女,教授,主研方向为生产过程建模与先进控制、智能算法;刘洪涛,硕士研究生。 收稿日期:2015一l1.16 修回日期:2016-01—11 E-mail:taowenhua2015@163.corn 220 计算机一种基于多维灰度熵理论和改进混沌DE算法的飞 机机体损伤区域划分方法。文献[5]将混沌序列加 入到DE中,以增强其局部搜索能力。文献[6]将粗 糙集合理论与多目标DE结合,增强算法的局部搜 索能力。文献[1,3]采用加权法处理多目标优化问 题,但其缺点是加权系数难以确定。 第二代非支配遗传算法(Non—dominated Sorting Genetic AlgorithmⅡ,NSGA-lI) 由NSGA改进而 来,其采用精英保留策略保证了算法的收敛性和 Pareto最优解的质量。目前NSGA一Ⅱ已得到了广泛 的应用。文献[8]采用NSGA—II优化多目标纤维复 合板问题。文献[9]采用NSGA—II解决多目标发电 扩建计划问题。文献[10—12]采用NSGA一11或改进 的NSGA.II有效解决了多目标无功功率补偿优化问 题。NSGA.Ⅱ具有解决多目标问题的能力且能保证 Pareto最优解的质量,所以,在保证DE解决多目标 问题的基础上,如何利用NSGA,11进一步提升 Pareto最优解的质量是本文研究的主要内容。 目前,国内外也有一些关于DE和NSGA一Ⅱ的 研究,其主要内容是采用NSGA-Ⅱ算法中的快速非 支配排序法协助DE算法处理多目标问题。文 献[13-15]均采用了这种思想。但这种方法仅仅是 在DE基础上能够求解多目标问题,Pareto最优解的 质量并没有得到实质性的提高。 为使多目标问题整体最优,需要求得能够权衡每 个子目标的高质量Pareto最优解。因此,在文 献[13-l5]的基础上,本文提出一种基于DE和NSGA.II 的混合算法(Hybrid Algorithm Based on DE and NSGA一11,HDE—NSGA-II)。首先采用DE和快速非 支配排序法进行一次搜索寻优,然后将一次寻优结果 传递给NSGA—II进行二次搜索寻优,从而提高算法的 局部搜索能力和Pareto最优解的质量。 1 预备知识 以目标函数最小化为例,一个具有M维目标函数、 维控制变量的多目标优化问题的数学模型如下: minf(X)=[ (X),,2(X),…, ( ),…, ( )] X: ,…, ,…, ] (1) ・ i ≤ ≤ 其中,,(x)为目标向量; (X)(i:1,2…,M)为 第i个目标函数; 是控制向量; ( =l,2,…, )为 第 个控制变量; , 为 ,的上下限。 多目标优化问题常用到以下定义: 定义1(Pareto支配关系) V ,X2∈ ,若 (X1)≤ ( 2),U∈(1,2,…, )且j 1,∈(1,2,…, ),使 ( )<fv( :),则称 。支配 ,用符号表 示为 > , 是非支配的, :是支配的。如果x, 工程 2016年11月15日 和 不存在支配关系,则称两者是不相关的。 定义2(Pareto最优解) 可行点(控制向量) ,X∈[ , ,…,X ,…,X ],满足 j > ,则 被称为Pareto最优解。 定义3(Pareto最优解集) 所有的Pareto最优 解组成的集合被称为Pareto最优解集。 2 HDE-NSGA-Ⅱ算法 2.1 DE算法 2.1.1 DE种群初始化 DE的初始种群也是整个混合算法初始种群。 首先随机产生规模为NP的初始种群X。=[ , …,,x?,…, ,](f-1,2,…,ⅣP),个体(向量) =L=[ ? f,,1 2 ? l,,…, f.p…,,,…, f, ](J L =1, = ,,…,2,…, ~V)中各个变 备 r 量表示可行解空间初始解。可行解空间初始变量计 算公式如下: : . 。 +rand×( 一 ) (2) 其中, 和 。 分别为 维变量的搜索上下界;rand 为均匀分布的随机数,rand∈[0,1]。 2.1.2 DE变异和交叉操作 变异和交叉操作是为了满足种群的多样性,使 Pareto最优解空间分布均匀化。 变异操作公式如下: (G)=X (G)+F×[ (G)一X (G)](3) 其中,T (G)为变异目标个体;G为种群进化代数; ,。(G),X (G),X (G)为从种群中随机选取的 3个个体;F为缩放比例因子,F∈[0,1];rl≠r2≠r3 ≠i,iE 1,2,…,ⅣP。 交叉操作: Pw:一 fti,j‘, : 或√一d (4) f(G),其他 其中,r 为变异目标个体 的第 个变量;P 为测 试个体P 的第 个变量;ri为个体,j i 第 个变量对应的均匀分布的一个随机数,rj. [0,1];rnd为均匀 分布的整数,rnd∈[1,NP];cr为交叉概率, cr∈[0,1]。 F,cr这2个参数存在难调性,为了使参数具有 自适应性,本文采用参数自适应策略,如式(5)和 式(6)所示 。 F (G+1)=Ft+rF (G+1)= and ̄x F“'“ nd2< ‘ ((5)5) ( rand3,) (6) 其中,F (G)表示第G代个体i的自适应缩放比例 因子;cr (G)表示第G代个体i的自适应交叉概率; 第42卷第11期 陶文华,刘洪涛:基于差分进化与NSGA.Ⅱ的多目标优化算法 221 由于 在区间[0.5,1)以及cr在区间(0,0.5]取值 对算法比较有利,因此F和c,.的初始值均赋给0.5。 F 分别为F的上下界,本文取F =0.3,F =0.5; ,作为NSGA—II的初始种群,其目的是利用NSGA.II 对DE求得的解进行二次寻优,进一步提高Pareto最 优解的质量。因此,N 是DE和NSGA-U结合的关 键部分。 2.3.2二元锦标赛选择法 rand 为均匀分布的随机数,rand ∈[0,1],a∈(1, 2,…,4); ,f:∈[0,1]为自适应调节因子。 2.1.3 DE选择操作 对测试个体P (G)和当代个体 (G)进行比 较,选择较优者进入下一代,采用这种方式可保证下 代种群个体 (G+1)优于当代种群个体 (G), 一从 。 中任意选取2个不同的个体。对两者等级 进行比较,等级小的个体进入交配池,若两者等级相 同,则空间拥挤距离大的个体进人交配池。直到达到 交配池数量(一般为Ⅳ脚规模的一半取整)为止。 这是一种贪婪选择方式。即: +1)= ; (7) 显然,式(7)只能解决单目标问题,为了解决多目标 问题,需要对当代个体和测试个体进行支配处理。 为此,本文应用新种群标记策略Ⅳ 。 2.2新种群标记策略 如果个体 >P ,则把 『力Ⅱ入Ⅳ 中,如果个体 P >X ,则把P 加入Ⅳ。。。中,否则,把x ,P 同时加 入Ⅳ 中。Ⅳ脚的规模为NP~2NP。N脚的标记策 略依靠NSGA一11算法中的快速非支配排序法和空间 拥挤距离实现。 1)分级快速非支配排序法 个体i的2个参数为支配个体f的个体数目n 和个体i支配的个体集合S,。 首先,定义2个空集合A和B,找到所有n =0 的个体并将其放人集合A中,A中个体等级为1;然 后,A中每个个体i对应的S 中每个个体J的n,减 1。如果支配 的n =0,则把这样的个体.,放入集合 B,B中个体等级为2。依次类推,直至所有个体都有 自己的等级。 2)空间拥挤距离 空间拥挤距离能够预防个体在局部堆积,保持目 标向量空间分布均匀,空间拥挤距离的计算公式如下: 沙(i)=∑ (i, ) (8) fi —fi (i, )= (9) 一 其中, (i)为个体i的空间拥挤距离;lf,(i,.『)为个 体i在第 个目标的空间拥挤距离; , 分别 为 (个体i在第_,个目标的函数值)的前后相邻 值; , 为第.『个目标的极大极小值。 通过以上2个步骤,新种群中每个个体具备自 己的标记,即等级和空间拥挤距离。 2.3 NSGA-II算法 2.3.1 NSGA一Ⅱ种群初始化 NSGA-I1种群初始化与DE算法种群初始化方 式一样,此处不再重复。但是本文采用新种群^,… 2.3.3 NSGA-Ⅱ交叉和变异操作 NSGA—II的交叉和变异操作是为了增强算法的 局部搜索能力,使得Pareto最优解的质量得到提升。 交叉操作公式如下: r(2 x n ) , n ≤0・5 {【 (一×2 2 d ) 而 I'…一 其中,Ol 为交叉参数; 为交叉分布指数。 变异操作公式如下: {r f2×rand) .’(2—2 x ran .1," ̄l/em+IFand≤0其他.5 (11) 一,其中,卢 为变异参数; 为变异分布指数。 2.3.4精英保留策略 将交配池中的个体作为亲代种群通过交叉 (90%的发生概率)和变异(10%的发生概率)产生 子代种群。 当交叉发生时,从亲代种群中随机选取2个亲代 个体 .,(1), (2),按式(12)和式(13)产生子代个 体x (1),X (2),并将子代个体加人子代种群中。 . (1)=0.5×[(1+Ot )× . (1)] +[(1一 )× (2)] (12) x .(2)=0.5×[(1一 )× . (1)] +[(1+Ot )× . (2)] (13) 当变异发生时,从亲代种群中随机选取一个亲 代个体x (3),按下式产生子代个体x (3),将其 加入子代种群中。 (3)= (3)+/3 (14) 精英保留策略潜在地把优秀个体保留下来,将 亲代种群和子代种群合并为一个大种群日,并对 中个体划分等级和计算空间拥挤距离。 2.3.5 NSGA一Ⅱ选择操作 选择操作需要从日中选出规模为Ⅳ|P的种群作 为下一代的初始种群。该操作按等级选取个体,等 级小的个体优先选出,当规模超过NP,等级越大、空 间拥挤、距离越小的个体容易被淘汰,直到选出NP 个最优秀的个体为止。 综上,HDE—NSGA一Ⅱ算法流程如图1所示。 222 计算机图1 HDE-NSGA-II算法流程 HDE—NSGA-11算法的具体步骤如下: 步骤1 DE种群初始化,确定参数ⅣP,G…得 到初始种群且初始化G=1。 步骤2按式(3)和式(4)完成DE变异和交叉 操作。 步骤3 按2.2节支配当代初始种群和测试种 群,产生新种群Ⅳ 并对其中的个体标记。 步骤4 N 成为NSGA—II的初始种群。 步骤5依次按照二元锦标赛选择法、式(10) 和式(11)、精英保留策略以及NSGA-Ⅱ选择操作得 到下一代初始种群。 步骤6 如果G≤G…,则G=G+1,返回步 骤2,直到满足条件为止。 混合算法的意义在于利用DE和NSGA.1I对多 目标问题的解分别进行2次寻优,此过程HDE- NSGA—II算法的局部寻优能力不断得到增强,同时 算法的全局寻优能力也得到了提高。 3实验与结果分析 多目标优化算法性能评估标准主要包括Pareto 最优解集空间分布性和收敛性。Pareto最优解集空 间分布性用以衡量Pareto最优解的质量,收敛性用 以测试算法寻优能力。本文采用多目标自适应差分 进化算法 (SADE)、NSGA—II 以及本文算法对 4个基准多目标函数(MOP1一MOP4)进行测试,通 过实验验证本文算法在2个性能评估标准方面相比 其他算法具有的优势。所有实验程序均用Matlab 编写,在Maflab 2010环境下运行,PC机主频为 2.30 GHz,内存2 GB。 工程 2016年11月15日 MOP1~MOP4函数如式(15)一式(18)所示。 MOP1: {fmrniin, ,((21))=:11-一peXp((‘一 ( 毫( 1矿1 ) ) (15) IXi E[一4,4],f=1,2,3 fmin厂(1)=X1 lmin,(2)=g(1一 ) jl 6 (16) g( )=10+∑[ 2 一10cos(4,1rx )] l l z 【0≤ 1≤1;-5≤ ≤5,i=2,3,…,6 MOP3: fmin,(1)=g(x)e 勺 I nfin,(2)=g(x)+sin(4 ̄x2 6) I min,(3)=g(x)一cos E6 ̄r(x4+ 5)] 1j . (17) g( )=2+ ( +2) /8 l【 0≤ f≤1,i=1,2,…,6 … M0P4: ,(1)=叶 H [1+ ] ,血,(2)=cos(詈 )siIl(詈 )El+g( )] m,(3)= [1+ )] 8 g( )= 毛12( 一0.5) 0≤ ≤I,i:1,2,…,12 设置种群规模NP=200,最大进化代数G =100,SADE算法中自适应调节因子7I =7- =0.9, NSGA—II中 。= =20。 表1和表2展示了3种算法时间和空间方面的 性能比较结果。 表1 3种算法的运行时间比较 S 表2 3种算法的运行时CPU占用率EE较 % 第42卷第1 1期 陶文华,刘洪涛:基于差分进化与NSGA。II的多目标优化算法 223 比较表l中运行时间可知,HDE.NSGA—II算法 比其他2个算法都要长,即在时问复杂度方面HDE— NSGA—II不如其他2个算法。因为HDE—NSGA—lI 是由DE和NSGA一1/以串联方式混合而成,其执行 一次循环相当于对DE和NSGA一1I各执行一次,所 以其运行时间落后其他算法属于正常现象。 比较表2中空间复杂度(运行时CPU占用率) 可知,HDE—NSGA一//与其他2个算法相当。 图2~图4分别展示了3种算法对MOPI~ MOP4多目标函数的测试结果,即函数的Pareto最 优解集空间分布。图5展示了MOP1~MOP4的收 敛性测试结果,其中纵轴C,~C 分别表示MOPI~ MOP4收敛性能测试指标,采用文献[16]方法求得; 横轴表示进化代数。 E O 5O lO0 进化代数 (b)MOP2 ≤ 。 HDE—NSGA-11算法 I …一NSGA—II算法 SADE算法 一一I I.、一一 I. 一’1 0 50 50 IOO 进化代数 (c)MOP3 进化代数 (d)MOP4 图5收敛性测试结果 通过图2(a)、图3(a)、图4(a)之间的Pareto最 2 优解集空问分布比较可知,3种算法优化MOP1, MOP3得到Pareto最优解集空间分布均匀的能力相 当。通过图2(b)、图3(b)、图4(b)和图2(C)、 图3(C)、图4(C)以及图2(d)、图3(d)、图4(d)之间 的Pareto最优解集空间分布比较明显看出,HDE— NSGA.II算法求解MOP2~MOP4得到的Pareto最优 解集空间分布要比NSGA.11和SADE的均匀很多,即 喜 。 HDE—NSGA一Ⅱ能够求得高质量的Pareto最优解。 由图5收敛性测试结果可知,HDE—NSGA一1I的收 敛速度比NSGA一Ⅱ和SADE快一些。由图5(b)和 图5(C)可以看出,HDE—NSGA—II不仅收敛速度快而且 不易陷入局部最优。NSGA一11和SADE在全局最优方 (d)MOP4 (c)MOP3面与本文算法相比还存在差距。综上,HDE—NSGA一Ⅱ 算法在空间Pareto最优解集空间分布和收敛性两方 图3 NSGA-II测试结果 224 计算机面与NSGA—II和SADE算法相比具有优越性。 4 结束语 本文以多目标优化问题为研究对象,提出一种 基于DE和NSGA—lI的}昆合算法,并将其与SADE, NSGA.11对多个多目标函数进行测试。经过2项测 试标准的比较,充分证明了本文算法在空间分布性 和收敛性方面存在优势。同时,通过空间分布性比 较也间接证明了本文算法能够求得较好的Pareto最 优解集,其中的每个Pareto最优解能够权衡每个子 目标函数,使得多目标函数整体最优。但本文算法 尚存不足,即运行时间稍慢。因此,在保证求解质量 的前提下,提高运算效率是下一步研究的重点。 参考文献 Zou Dexuan,Liu Haikuan,Gao Liqun,et a1.An Improved Differential Evolution Algorithm for the Task Assignment Problem[J].Engineering Applications of Artificial Intelligence,2011,24(4):616-624. [2] Moreno L.Garrido S,Blanco D,et a1.Differential Evolution Solution to the SLAM Problem[J].Robotics and Autonomous Systems,2009,57(4):441—450. [3] Lai Mingyong,Cao Erbao.An Improved Differential Evolution Algorithm for Vehicle Routing Problem wim Simultaneous Pickups and Deliveries and Time Windows『J]. Engineering Applications of Artificial Intelligence,2010, 23(2):188—195. [4] 蔡舒妤,师利中.基于改进混沌差分进化算法的机体 损伤区域划分[J].计算机工程,2015,41(11):239. 244,252. [5] Lu Youlin,Zhou Jianzhong,Qin Hui,et a1.Chaotic Differential Evolution Methods for Dynamic Economic Dispatch with Valve—point Effects[J].Engineering Applications of Artificial Intelligence,20 1 1,24(2): 378—387. [6] Santana—Quintero L V,Herndndez—Dfaz A G,Molina J, et a1.DEM0RS:A Hybrid Multi—objective Optimization Algorithm Using Differential Evolution and Rough Set 工程 2016年11月15日 Theory for Constrained Problems[J].Computers& Operations Research,2010,37(3):470-480. [7]Deb K,Pratap A,Agarwal S,et a1.A Fast and Elitist Multi—objective Genetic Algorithm:NSGA—II[J].IEEE Transactions on Evolutionary Computation,2002,6(2): 182—197. [8]Honda S,lgarashi T,Narita Y. Multi-objective Optimization of Curvilinear Fiber Shapes for Laminated Composite Plates by Using NSGA—II[J].Composites Part B:Engineering,2013,45(1):1071・1078. [9] Murugan P,Kannan S,Baskar S.NSGA—U Algorithm for Multi—objective Generation Expansion Planning Problem[J].Electric Power Systems Research,2009, 79(4):622・628. f10]Pires D F,Antunes C H,Martins A G.NSGA.11 with Local Search for a Multi—objective Reactive Power Compensation Problem[J].Electrical Power and Energy Systems,2012,43(1):313—324. [1 1]Ramesh S,Kannanv S,Baskar S.Application of Modified NSGA一ⅡAlgorithm to Multi—objective Reactive Power Planning[J].Applied Soft Computing,2012,12(2):741— 753. [12]Jeyadevi S,Baslcar S,Babulal C K,et a1.Solving Multi— objective Optimal Reactive Power Dispatch Using Modiifed NSGA一Ⅱ[J].Electrical Power and Energy Systems,2011,33(2):279—228. [13]牛大鹏,王福利,何大阔,等.多目标混沌差分进化算 法[J].控制与决策,2009,24(3):361-370. [14]王林,陈璨.一种基于DE算法和NSGA一1I的多 目标混合进化算法[J].运筹与管理,2010,19(6): 58—64. [15]Xu Bin,Qi Rongbin,Zhong Weimin,et a1.Optimization of P-・Xylene Oxidation Reaction Process Based on Self・ -adaptive Multi—objective Diferential Evolution[J]. Chemometrics and Intelligent Laboratory Systems,20 1 3, 127(12):55—62. [16]Deb K,Jain S.Running Performance Metrics ofr Evolutionary Multi—objective Optimization:2002004[R].Kanpur,Indian: Indina Institute of Technology Kanpur,2O02. 编辑金胡考