2025年OE SCI2区TOP,进化麻雀搜索算法ESSA+海洋阻尼器迟滞建模与辨识,深度解析+性能实测
目录
- 1.摘要
- 2.麻雀搜索算法SSA原理
- 3.ESSA算法
- 4.结果展示
- 5.参考文献
- 6.代码获取
- 7.读者交流
1.摘要
海洋阻尼器的机械性能通常具有高度非线性,以适应动态和冲击环境。阻尼器经过动态和冲击测试,发现其滞回曲线具有速率依赖性且呈非对称性。为了能够描述动态滞回和冲击滞回,基于广义Prandtl-Ishlinskii(GPI)模型提出了一种速率依赖广义Prandtl-Ishlinskii(RDGPI)模型,该模型是GPI模型与径向基函数(RBF)神经网络的混合体。由于模型参数众多,为了提升参数识别效果,本文提出了一种进化麻雀搜索算法(ESSA),其显著提升了参数识别的效率和准确性。
2.麻雀搜索算法SSA原理
【智能算法】麻雀搜索算法(SSA)原理及实现
3.ESSA算法
为了提升算法的优化搜索能力,需要避免陷入局部最优和过早收敛,因此考虑采用差分进化(DE)算法。为提升变异效率,本文借鉴SHADE提出了进化麻雀搜索算法(ESSA)。在ESSA开始阶段,对生产者和觅食者的位置进行与SSA相同的位置更新。当更新觅食者位置时,基于DE对觅食者进一步进行变异,采用current-to-pbest/1策略:
u i , t = x i , t + F i ⋅ ( x p b e s t , t − x i , t ) + F i ⋅ ( x r 1 , t − x r 2 , t ) \boldsymbol{u}_{i,t}=\boldsymbol{x}_{i,t}+F_i\cdot\left(\boldsymbol{x}_{p\mathrm{best},t}-\boldsymbol{x}_{i,t}\right)+F_i\cdot\left(\boldsymbol{x}_{r1,t}-\boldsymbol{x}_{r2,t}\right) ui,t=xi,t+Fi⋅(xpbest,t−xi,t)+Fi⋅(xr1,t−xr2,t)
其中, x i , t x_{i,t} xi,t是第 t t t代中的第 i i i个向量, u i , t u_{i,t} ui,t是第 t t t代中的第 i i i个变异向量, F i F_i Fi是对应于第 i i i 个向量的变异参数,个体 x p b e s t , t x_{pbest,t} xpbest,t是从第 t t t代中排名前 N × p N\times p N×p (其中 p ∈ [ 0 , 1 ] p\in[0,1] p∈[0,1])的成员中随机选取的, N N N是种群规模。
为了保持种群的多样性,引入了一个外部档案库 A A A。向量 x r 1 , t x_{r1,t} xr1,t和 x r 2 , t x_{r2,t} xr2,t是从种群 P P P与档案库 A A A的并集 P ∪ A P\cup A P∪A中选取的。如果变异后向量的能量水平更高,即变异成功,则将原始向量添加到档案库 A A A中。如果档案库中的向量数量超过设定值,则随机移除一个向量。控制参数 p p p用于调节DE算法的贪婪程度,以平衡探索与利用,参数 p p p:
p i = r a n d [ p min , 0.2 ] p_i=\mathrm{rand}[p_{\min},0.2] pi=rand[pmin,0.2]
为了提高变异效率,ESSA 使用了一个包含 H H H个条目的历史记忆库 M F MF MF,用于存储DE变异参数 F F F。(初始化为0.5)
每代根据柯西分布生成 F i F_i Fi:
F i = r a n d c i ( M F , r i , 0.1 ) F_i=randc_i(M_{F,ri},0.1) Fi=randci(MF,ri,0.1)
参数 M F , r i M_{F,ri} MF,ri更新:
M F , k , t + 1 = { mean W L ( S F ) if S F ≠ ∅ M F , k , t otherwise M_{F,k,t+1} = \begin{cases} \text{mean}_{WL}(S_F) & \text{if } S_F \neq \emptyset \\[6pt] M_{F,k,t} & \text{otherwise} \end{cases} MF,k,t+1=⎩ ⎨ ⎧meanWL(SF)MF,k,tif SF=∅otherwise
{ mean W L ( S F ) = ∑ n = 1 ∣ S F ∣ w n ⋅ S F , n 2 ∑ n = 1 ∣ S F ∣ w n ⋅ S F , n w n = Δ f n ∑ n = 1 ∣ S F ∣ Δ f n \begin{cases} \text{mean}_{WL}(S_F) = \dfrac{\sum_{n=1}^{|S_F|} w_n \cdot S_{F,n}^2}{\sum_{n=1}^{|S_F|} w_n \cdot S_{F,n}} \\[12pt] w_n = \dfrac{\Delta f_n}{\sum_{n=1}^{|S_F|} \Delta f_n} \end{cases} ⎩ ⎨ ⎧meanWL(SF)=∑n=1∣SF∣wn⋅SF,n∑n=1∣SF∣wn⋅SF,n2wn=∑n=1∣SF∣ΔfnΔfn
4.结果展示
5.参考文献
[1] Zhou Y, Chen W, Wang D, et al. Modeling and identification of hysteresis of marine damper considering shock environment based on evolutionary sparrow search algorithm[J]. Ocean Engineering, 2024, 311: 118995.