论文研读_基于群体合作的大规模多目标优化粒子群优化算法(PCPSO)
A Population Cooperation based Particle Swarm Optimization algorithm for large-scale multi-objective optimization
- 此篇文章为A Population Cooperation based Particle Swarm Optimization algorithm for large-scale multi-objective optimization的论文学习笔记,只供学习使用,不作商业用途,侵权删除。并且本人学术功底有限如果有思路不正确的地方欢迎批评指正!
先提高收敛性,再平衡收敛性和多样性
第一阶段使用 APC 加速主要种群的收敛速度
在第二阶段,提出了一种子种群合作(SPC)策略,以平衡收敛性和多样性。为此,将主种群分为几个子种群,并引入基于Jensen-Shannon散度(JSD)的自适应合并-分割操作,以增加子种群的搜索方向多样性。此外,提出了一种新颖的三距离环境选择策略,从个体和子种群的角度考虑解决方案的质量。
表现优势:在最多包含5000个决策变量和2、3、5、10个目标的基准问题
MOP定义
其中,X=(X1,X2,…,XD)是具有 d 个决策变量的决策空间 Ω 中的决策向量,f(X) 是具有m个待优化的冲突目标的目标向量。
为了区分两个解决方案的质量,引入了帕累托优势来确定两个解决方案之间的关系。
给定两个解决方案x和y,如果对于所有的 i ∈ {1, 2, …, m} ,都有 f**i(x) ≤ fi(y) ,并且存在某个 j ∈ {1, 2, …, m} ,使得fj(x) < fj**(y),则称x帕累托支配y,记为 x < y 。此外,对于任何两个解决方案 x 和 y ,如果 x 不支配 y 且 y 不支配 x ,则称 x 与 y 是“非支配”的。一个解决方案 x 被认为是帕累托最优的,当且仅当不存在任何支配 x 的解决方案 y 。
优化 MOP 的目标是找到一个具有良好收敛性和多样性的 PF 。
收敛性的标准通常定义为 PF 上采样的参考点与理想点之间的距离。
收敛性的标准通过目标空间中种群的分布来衡量。
粒子群优化(PSO)是 Kennedy 和 Eberhart[33] 提出的一种流行的群体智能算法,其灵感源自于对鸟类行为的预测。每个粒子群包含了一系列粒子,而每个粒子在搜索空间中拥有两个属性,分别是位置和速度。为了获取全局最优值,每个粒子的速度和位置会按照以下方式进行迭代更新:
在这个公式中, t 是迭代次数, vi(t) 和 xi(t) 分别代表需要更新的粒子的速度和位置。 pbesti 和 gbesti 分别表示局部最优和全局最优的位置。r1(t) 和 r2(t) 是在 [0,1]n 范围内随机生成的两个向量。 a, b 和 c 是超参数。近年来,基于 PSO 的多种方法被提出,如 LMOCSO(一种基于竞争性群体优化器的新繁殖操作符方法)和 CMOPSO(一种具有粒子更新学习策略的竞争机制方法)。尽管 PSO 显示出高搜索效率的优势,但它倾向于陷入局部最优,并且在大规模多目标优化问题 LSMOPs 上需要过多的函数评估 FEs ,其变体也是如此[35-37]。
总览
所提出的基于种群合作的粒子群优化算法(PCPSO)的主要框架如算法1所示,其流程图如图1所示。首先,分别在目标种群 P 和辅助种群 AP 中随机初始化 N 个解。此外,还设置了阈值 THRE ,将搜索过程分为两个阶段。
具体来说,当**功能评估(Fe)**小于 THRE 时,辅助种群协作(APC)将执行到底;
否则,将种群 P 划分为 K(初始值为2)个大小相等的子种群,然后应用 子种群协作(SPC)。
最后,当迭代结束时,输出最终种群作为结果。
在算法的第一阶段,使用 APC 来加速种群的收敛;在 PCPSO 的第二阶段,使用 SPC 来平衡种群的 **Pareto前沿(PF)**的收敛性和多样性。
行1.2:初始化 P、AP
行3 :均匀参考向量 R
行4 :初始的 k 是 2
行5 : FE 是函数评估, thre 是阈值
行6 : AP 是辅助种群合作,具体在算法 2
行7 :将种群 P 随机相等分配进 K 个子种群
行8 :当终止条件未满足时,执行以下操作:
行9 :子种群合作 SPC ,具体在算法 3
辅助种群合作(APC)
近年来,基于粒子群优化的进化算法已取得令人满意的成果。但是,粒子群优化(PSO)在大规模多目标优化问题(LSMOPs)上需要进行过多的函数评估,导致收敛速度缓慢。为加快 PCPSO 中种群的收敛速度,引入了辅助种群合作(APC)机制,同时从 NSGA-II 引入了非支配排序方法来选择有前景的粒子。 NSGA-II 的主要思想是根据每个粒子的 目标值 分配一个 非支配数 。每个粒子都有一个非支配数,其中第一个非支配前沿中的所有解将其非支配数设为 1 ,并支配种群中的其他粒子。此外,除了非支配粒子以外,能够支配其他粒子的粒子将其非支配数设为 2 。通过上述方法和 NSGA-II 引入的拥挤距离计算,保证了种群的收敛性。
如算法 2 所示,辅助种群合作(APC)的输入包括当前种群 P 、当前辅助种群 AP 、参考向量 R 以及种群大小 N 。首先,引入了一种有效的粒子更新策略,通过从胜者学习来提高落后者的收敛性(方程式(4)、(5)),并生成临时目标种群p’。
行1 :
行2 :从 AP 中选择有潜力的粒子
行3 :扩大 AP’ 的规模和 P’ 一样
然后,临时辅助种群 AP’ 由根据非支配编号选择的有潜力的粒子组成。我们选择了 **改进的遗传算法(GA)**来使 AP’ 中适应度更好的粒子引导 P’ 中的粒子并产生后代。
具体来说,图 2 展示了两种粒子,一种来自辅助种群 AP’ ,另一种来自目标种群 P’ 。 ==AP’ 中大多数粒子的适应度值优于 P’ ,但也有例外。==如果粒子 Xo,3 用 遗传算法GA 从粒子 xt,3 选择,将对后代产生不利影响,我们不改变粒子 xt,3 ,否则让AP’中的粒子引导 P’ 中的粒子生成有前景的后代。
最后, P’ 和 AP’ 分别执行 θ-DEA 的环境选择。
具体来说,如图 3 所示,通过计算每个参考向量的距离,为每个解分配最近的参考向量。
设 Fi(x) = di,1(x) + θ * di,2(x) , j∈{1,2,…,N} ,其中 θ 是预定义的惩罚参数。
Fi(x) 的形式类似于 PBI(惩罚边界交叉聚合方法) 。但是距离 di,1 和 di,2 都是在归一化的目标空间内计算的。 di,2 越小, x 的多样性越好; di,1 越小, x 的收敛性越好。将解分配给每个参考向量后,根据 F(x) 的值进行排序。例如,一个参考向量被分配给三个解 (x1,x2,x3) ,且 F(x1) = 0.1 , F(x2) = 0.2 , F(x3) = 0.3 。我们可以得出结论: θ-DEA 编号为 x1 是 1 , x2 是2, x3 是 3 。最后,根据 θ-DEA 编号的优先级,选择当前代中的所有解进入下一代。
图2展示了改进的遗传算法。考虑具有两个决策变量的粒子,辅助种群 AP’ 中的粒子相较于目标种群 P’ 中的粒子具有更好的适应度值,除了粒子 xt,3 。此外,只有在 AP’ 中具有更好适应度值的粒子才会引导 P’ 中相应的粒子改善收敛性。如果不是这种情况,将不执行任何操作,相应的粒子将作为后代保留。通过这种方法,辅助种群能够有效地引导目标种群优化其解决方案,加速收敛过程,同时保持了种群的多样性。
子种群合作(SPC)
辅助种群合作在演化早期阶段牺牲了多样性以实现收敛,因此不足够。因此,提出子种群合作以解决上述困难。
为了平衡种群的收敛性和多样性,当函数评估次数超过阈值 thre 时,引入 SPC 。在第 4.4.2 节的实验结果中,将 thre 的值设定为 maxFE / 3 。我们将 SPC 引入 PCPSO 主要基于以下假设:
(1)具有 相似特征 的粒子有更好的机会产生有希望的后代。
(2)在目标空间中 分布均匀 的子种群更有利于种群的收敛和多样性。
框架
子种群合作(SPC)的程序如算法 3 所示。具体来说, SPC 包括以下步骤:
(1) 按照每个子种群中解决方案的 平均非支配排名 对子种群进行排序。(第1行)
(2) 计算每个子种群中 非支配粒子 的 目标值 Mranki 的平均值。(第2行) 均值用于确定种群中个体的集中趋势
(3) 通过计算 M 与 参考向量 之间的距离,为每个 参考向量 分配 最近的子种群 。(第3行)
(4) 通过方程式 4,5 生成后代。(第5行)
(5) 对于第 i (i > 1)个子种群,计算当前种群中每个粒子的目标值与前 i-1 个子种群的平均目标值 Mi 之间的 差异值 dis 。然后我们采用一种新颖的基于三距离的环境选择策略,考虑到解决方案的质量既从个体角度又从子种群角度。具体细节如下。(第7-12行)
-
对当前子群体进行了聚类操作,旨在通过在归一化的目标空间中使用欧几里德距离,将最近的参考向量从 Rranki 分配给每个粒子。
-
假设 f(x) = ( f1(x) , … , fm(x) ) 是解决方案 x 的 标准化目标向量 ,而 v 是 f(x) 在 相应参考向量上的投影 。设 di,1(x) 为原点与 v 之间的距离, di,2(x) 为 f(x) 与相应参考向量之间的垂直距离。计算分配给每个参考向量的粒子的适应度值:
-
α 是预先设定的 惩罚参数 ,根据之前的经验设定为 5 ,而 β 是控制 子群体内部影响 的参数,设定为 1 。我们将在第 4.5 节进行进一步的分析。
-
在 Rranki 中选择每个参考向量具有最佳适应度值的有前途的粒子,用于下一个群体。
(6) 使用 非支配排序 和 拥挤距离 来为第一个子群体选择有前途的后代。(第14行)
(7) 在每一代结束时,定期进行 合并 和 分割 操作,自适应地调整 子群体的数量 ,以解决不同的 LSMOPs 问题,详细说明见算法 3 。(第16行)
如图 4 所示,给定两个子种群,第一个子种群采用基于 NSGA-II 的传统环境选择策略来选择有前景的后代。在目标空间中考虑了其他子种群的每个粒子与前一个子种群之间的距离。来自第二个子种群的粒子 x2,1 、 x2,2 、 x2,3 拥有相似的适应度值。但 x2,2 距离第一个子种群更远,因此 x2,2 有更好的机会被选入下一代,以探索未知的搜索空间。 x越远,多样性越好
图4. 考虑到两个子种群,第一个种群包含粒子 X1.1 、 X1.2 、 X1.3 ,第二个种群包含粒子 X2.1 、 X22 、 X2.3 。
第二个子种群的粒子是基于 PBI 值和与所有前一个子种群的质心距离属性 dis 进行选择的,而第一个子种群的粒子则是基于 非支配排序 和 拥挤距离 进行选择的。通过上述操作,可以提高整个种群的多样性。
合并与分割操作
Jensen-Shannon散度( JSD ,公式(8))被引入自适应的合并与分割操作中。 JSD 类似于 Kullback-Leibler 散度( KLD ,公式(7)),因为它们都用于判断两个分布之间的差异。但是,由于以下属性, JSD 对于进化算法更为优越:
-
对称性,即给定两个分布P和Q,JSD(P||Q)=JSD(Q||P),而KLD(P||Q)≠KLD(Q||P)。
-
JSD 的值在 0 到 1 之间,因此易于量化,而 KLD 的上限是无穷大。换句话说,如果两个分布不重叠,它们的 KLD 值将是无穷大。
合并与分割操作在算法 4 中提出。首先,通过公式 3 计算每两个子群体之间的差异,然后基于Jensen-Shannon散度(JSD)选择两个最相似的子群体。 JSD 越小,相似度越大。接下来,我们定义 JSD 的上限和下限(公式(8))。如果它们之间的 JSD 值小于 lowb 的阈值,那么两个最相似的子群体将合并为一个单一子群体。如果 JSD 值大于 upb 的阈值,则会初始化一个新的子群体。否则,不进行任何操作。通过在第 4.4 节的参数实验中,将 lowb 的值设为 0.1 , upb 的值设为 0.3 。
环境选择在文章里没有讲具体是怎么实施的
图1展示了我们提出的PCPSO(基于群体合作的粒子群优化算法)的主要框架。
具体来说,流程图分为三部分:判断模块(标记为绿色),辅助种群合作(APC,标记为蓝色)和 子种群合作(SPC,标记为粉色)。
为了加速目标种群的收敛,APC采用精英主导策略(elitism operator)从辅助种群AP中选出精英粒子,进行后代生成并与目标种群合作。
为了更加强调目标种群的多样性,SPC维护一系列子种群,使用自适应合并和分割操作,并采用基于迭代距离的策略进行环境选择(Environmental Selection)。
图2展示了改进的遗传算法。考虑具有两个决策变量的粒子,辅助种群 AP’ 中的粒子相较于目标种群 P’ 中的粒子具有更好的适应度值,除了粒子 xt,3 。此外,只有在 AP’ 中具有更好适应度值的粒子才会引导 P’ 中相应的粒子改善收敛性。如果不是这种情况,将不执行任何操作,相应的粒子将作为后代保留。通过这种方法,辅助种群能够有效地引导目标种群优化其解决方案,加速收敛过程,同时保持了种群的多样性。
图3:给定一个解 x 和一个参考向量 vi , di,1 是投影距离, di,2 是垂直距离。由于最小垂直距离是 vi ,解 x 被赋予参考向量 vi
后代保留。通过这种方法,辅助种群能够有效地引导目标种群优化其解决方案,加速收敛过程,同时保持了种群的多样性。
[外链图片转存中…(img-eh7JP0Gz-1705410387583)]
图3:给定一个解 x 和一个参考向量 vi , di,1 是投影距离, di,2 是垂直距离。由于最小垂直距离是 vi ,解 x 被赋予参考向量 vi