MPEPSO:多种群集成粒子群优化算法用于工程设计问题


在这里插入图片描述

1.摘要

本文提出了一种名为多种群集成粒子群优化算法(MPEPSO),该算法结合了三种现有的高效简单PSO搜索策略,并将粒子分为四个子群体,其中三个为指示子群体,一个为奖励子群体。各指示子群体使用不同的速度更新策略,并在每个学习周期结束时,根据性能将奖励子群体分配给表现最佳的策略。

2.粒子群算法PSO原理

【智能算法】粒子群算法(PSO)原理及实现

3.MPEPSO

3.1 改进PSO

线性递减惯性权重粒子群优化算法LDWPSO
V i d = ω V i d + c 1 × r a n d 1 i d × ( p b e s t i d − X i d ) + c 2 × r a n d 2 i d × ( g b e s t i d − X i d ) X i d = X i d + V i d \begin{aligned}&V_i^d=\omega V_i^d+c_1\times rand1_i^d\times\left(pbest_i^d-X_i^d\right)+c_2\times rand2_i^d\times\left(gbest_i^d-X_i^d\right)\\&X_i^d=X_i^d+V_i^d\end{aligned} Vid=ωVid+c1×rand1id×(pbestidXid)+c2×rand2id×(gbestidXid)Xid=Xid+Vid
其中,参数为:
ω = ω max ⁡ − ( ω max ⁡ − ω min ⁡ ) F E s M a x F E s \omega=\omega_{\max}-(\omega_{\max}-\omega_{\min})\frac{\mathrm{FEs}}{\mathrm{MaxFEs}} ω=ωmax(ωmaxωmin)MaxFEsFEs
统一粒子群优化算法UPSO

G i d = X [ V i d + c 1 × r a n d 1 i d × ( p b e s t i d − X i d ) + c 2 × r a n d 2 i d × ( g b e s t i d − X i d ) ] L i d = X [ V i d + c 1 × r a n d 3 i d × ( p b e s t i d − X i d ) + c 2 × r a n d 4 i d × ( n b e s t i d − X i d ) ] G_i^d=\mathscr{X}\left[V_i^d+c_1\times rand1_i^d\times\left(pbest_i^d-X_i^d\right)+c_2\times rand2_i^d\times\left(gbest_i^d-X_i^d\right)\right]\\L_i^d=\mathscr{X}\left[V_i^d+c_1\times rand3_i^d\times\left(pbest_i^d-X_i^d\right)+c_2\times rand4_i^d\times\left(nbest_i^d-X_i^d\right)\right] Gid=X[Vid+c1×rand1id×(pbestidXid)+c2×rand2id×(gbestidXid)]Lid=X[Vid+c1×rand3id×(pbestidXid)+c2×rand4id×(nbestidXid)]

综合学习粒子群优化算法CLPSO

V i d = ω V i d + c 1 × r a n d i d × ( p b e s t f i ( d ) d − X i d ) V_i^d=\omega V_i^d+c_1\times rand_i^d\times\left(pbest_{fi(d)}^d-X_i^d\right) Vid=ωVid+c1×randid×(pbestfi(d)dXid)
决策取决于学习概率Pci:
P c i = a + b × ( exp ⁡ ( 10 ( i − 1 ) N − 1 ) − 1 ) ( exp ⁡ ( 10 ) − 1 ) Pc_i=a+b\times\frac{\left(\exp\left(\frac{10(i-1)}{N-1}\right)-1\right)}{(\exp\left(10\right)-1)} Pci=a+b×(exp(10)1)(exp(N110(i1))1)

3.2 MPEPSO原理

MPEPSO有一个奖励子群体 p o p R pop_R popR,并有三个指示子群体,这些子群体用 p o p h pop_h poph表示,其中 h ∈ { 1 , 2 , 3 } h∈\{1, 2, 3\} h{1,2,3}是对应于LDWPSO、UPSO和CLPSO的PSO搜索策略的指标。 λ h \lambda_{h} λh p o p h pop_h poph在群体中的比例, λ h \lambda_{h} λh的值影响指示子群体中的粒子数量。较大的 λ h \lambda_{h} λh会使得奖励子群体中的粒子数量减少,因此奖励子群体的效果会降低。而较小的 λ h \lambda_{h} λh会使得指示子群体中的粒子数量减少,这将降低评估每种策略性能的准确性。

指示子群体的人口规模 N h N_h Nh
N h = ⌊ N ∗ λ h ⌋ N_h=\lfloor N*\lambda_h\rfloor Nh=Nλh
在每次迭代中,从总群体中随机选择 N h N_h Nh个粒子并分配到子群体 p o p h pop_h poph中。 p o p h pop_h poph中的粒子通过策略h更新它们的速度。奖励子群体中的粒子数量 N r N_r Nr
N r = N − ∑ h = 1 , 2 , 3 N h N_r=N-\sum_{h=1,2,3}N_h Nr=Nh=1,2,3Nh

学习期(LP)被定义为一定数量的迭代次数。在每个学习期间,如果使用策略h的粒子i能够产生一个比其个人最佳位置pbesti更好的解决方案,策略改进Δfh:
Δ f h = Δ f h + F ( p best i ) − F ( X i ) , i ∈ pop h \Delta f_h=\Delta f_h+F(p\text{best}_i)-F(X_i),\quad i\in\text{pop}_h Δfh=Δfh+F(pbesti)F(Xi),ipoph
在学习周期结束时,通过比较Δfh的值,选择性能最好的策略,并以k为索引:
k = arg ⁡ ( max ⁡ h = 1 , 2 , 3 ( Δ f h ⌊ N ∗ λ h ⌋ ) ) k=\arg\biggl(\max_{h=1,2,3}\biggl(\frac{\Delta f_h}{\lfloor N*\lambda_h\rfloor}\biggr)\biggr) k=arg(h=1,2,3max(NλhΔfh))

伪代码

在这里插入图片描述

4.结果展示

CEC2014
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.参考文献

[1] Liu Z, Nishi T. Multipopulation ensemble particle swarm optimizer for engineering design problems[J]. Mathematical Problems in Engineering, 2020, 2020(1): 1450985.

6.代码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值