一种有向权值的约束多目标进化算法(DW-COMPs)--学习笔记

扶醉桌前 提交于 2019-12-10 07:34:31

一种有向权值的约束多目标进化算法(DW-COMPs)
摘要:这篇文章提出了一个新的基于有向权重的约束处理技术来处理约束多目标优化问题(CMOPs)。这篇文章采用了两种权重,分别是:分布在可行区域的可行权重和分布在不可行区域的不可行权重,来指导搜索向有希望的区域进行。为了充分利用不可行个体中的有用信息,这篇文章使用了不可行权重来保持分布较好的不可行个体的多样性。同时,他们能随着演化状态动态改变,以偏好目标函数值更好和约束违反更小的不可行个体。简而言之,这篇文章的工作就是用有向权值的方法将m维的约束多目标优化问题转化为m+1维的无约束多目标优化问题。

引言:
这篇文章的主要描述如下:
1.提出的算法与其他约束多目标进化算法的主要不同在于约束处理技术。提出的算法能够保持种群信息不可行个体的多样性,尽可能多地覆盖获得的非支配解,这有利于进化过程。
2.考虑到提出的算法的特性,它不仅包含一组分布较好的可行非支配解,而且在演化过程中能够保持一组目标函数值较好,约束违反较小的不同的不可行个体,以保证找到的一组分布较好的Pareto最优解的可靠性和稳定性。
3.提出的约束处理技术的有效性和参数的敏感性已被实验验证。

基础概念
约束多目标优化(1)-(3)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这篇文章将一个m维的约束多目标优化问题转化成一个m+1维的无约束多目标优化问题(4)
在这里插入图片描述
这篇文章使用的是一个基于分组的适应度函数(成就标量化函数ASF)来选择具有潜力的个体。因此,每个个体都能被分配一个ASF值(5)[根据目标函数值,参考点和m+1维的权重]
在这里插入图片描述

MOEA/D-M2M概述
它将问题划分成K个子问题,并同时优化它们。特别地,K个单位中心权重v1-vk是预先定义的,然后,将目标空间划分成K个字区域,O1-Ok,(6)。
在这里插入图片描述
<u,vi>是目标值向量u和中心权重之间的夹角。取等号是当vi等于vj时,当且仅当它与vi有最小的角度(与其他中心向量相比),u在子区域Oi里面。如图1中所示,一个2维目标空间被划分成4个子区域,显然,A,B,C点属于相同的子区域,点D和G在不同的子区域,分别对应权重v2和v4.点E和F的权重都是v3在相同的子区域。
基于上述讨论,问题(4)被划分成K个子问题如公式(7)[多了一个子区域的限制]
在这里插入图片描述

提出算法
在这里插入图片描述
在这里插入图片描述
超平面G(x)=0,(图2中的平面f10f2)被用来找到一组分布较好的可行非支配解,一组可行的在可行域内分布均匀的权重。
与最大最小的方法类似,一组(m+1)维的不可行权重的大小为N1,由下列的标准产生:
1.同意产生M(这篇文章设置为5000)个弧度θ,在0~π/2之间,然后用这些弧度根据公式(8)产生单位向量V。
在这里插入图片描述
2.初始化权重集W以及弧度集R(集合大小都是N1)
3.增加V中欧氏距离最大的权重到集合W中,并将它从集合V中移除,将相应的弧度放入弧度集R中。
4.如果W的大小被满足,然后输出集合W和R。否则,返回第3步。

m+1维可行权重由下列方式产生:首先产生M个弧度θ,θm=0,然后一组大小为N2的可行权重通过前面的标准选择。由如果每个可行权重的m+1维都等于0,它就会被设置成一个很小的正值ε(1.0*10-10)来使等式(5)中的除法合法。

如上所述,一个不可行权重对应的是一个不可行个体,在一定程度上,这些不可行权重能够保持不可行个体的多样性,能够提供更多有关目标函数值最优的方向的遗传信息。然而,这些较劣等的个体(约束违反度高的个体)也能存活到下一代,这可能会导致搜索性能的恶化。因此,设计一个方法以引导不可行个体朝可行区域移动是很有必要的。

为了引导搜索朝可行域方向进行,这篇文章动态调整不可行权重以选择目标函数值和约束违反程度较小的不可行个体。根据演化状况,用公式(9)更新弧度θm的值。
在这里插入图片描述
那就是说,由于θm的减小,不可行权重的第m+1维的值也随之减小。因此,这些不可行权重会随着演化代数的增加而逐渐靠近可行区域。公式(10)中λ是一个控制向量(2~5之间的整数)。
在这里插入图片描述
如图3中所示,通过将约束违反看作一个目标(记作G)我们将带约束的双目标问题转化成无约束的三目标优化问题。
在这里插入图片描述
算法1是整篇文章的框架:
1.根据3.1节中的标准,产生N1个不可行权重和N2个可行权重以及K个单位有向权重(v1,v2…vk用相同的方法产生,分布在可行区域)
2.初始化一个大小为N1+N2的种群Q0,设定停止标准和当前代数t=1
3.将(N1+N2)个权重(包含可行权重和不可行权重)划分成K个子区域Oi(i=1,1…k),用公式(6)
4.计算每个个体x的目标函数值,设置每个子种群 Oi(子种群大小为Si)
5.当停止标准不被满足时(如果子区域的规模Oi比子种群的规模Si小则,从当前种群中随机挑选Si-|Oi|个个体加入到Oi中)
6.for i=1:k(k个子区域)
7.for 每个子区域Oi中的每个个体
8.if rand<0.9
9.从子区域Oi中随机挑选两个x1和x2
10.否则
11.从当前种群中随机挑选两个个体x1和x2
12.end if
13.end for
14.对x,x1,x2使用遗传算子产生子代(DE算子被采用DE/rand/1/bin)(11-13)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
15.将目标向量{y}加入到弧度集M中(从分配的子种群中选出最好的个体,根据ASF值)
16.end for
17.设置混合种群C=Q∪M,并重置子区域O1,O2,Ok
18.Q=P1∪P2∪…∪Pk
19.根据3.1节更新不可行权重
20.更新当前演化代数t=t+1
21.输出可行的非支配个体集中的非支配个体Q

实验验证
两组测试用例:CTP集和CF集和两个工程测试问题(14-15)
在这里插入图片描述
N1=150;N2=350;N=N1+N2=500
子问题的个数K=22
参数λ=8
F=0.8;CR=0.1;runmax=30
性能指标
1.反向代距离度量指标:IGD指标。评价Pareto最优集中的点到最近的获得的解直接的平均距离。它测试了种群中解的多样性和收敛性。一个小的IGD值表示获得的集合靠近PF且有一个较好的分布。(16)
在这里插入图片描述
2.超体积指标:HV指标。符合Pareto并且测量PF附近获得的点的多样性和收敛性。一个大的HV值表明了一个更好的支配关系。它计算了在目标空间中被获得的集合P和参考点所包围的体积。(17)
在这里插入图片描述
通过使用最大最小值的方法:
双目标测试问题用的是100个可行非支配解
三目标测试问题用的是150个可行非支配解
用Mann-Whitney 秩-和检验来计算CTP系列和CF系列之间是否存在显著差异。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!