正弦策略的改进鲸鱼优化算法"/>
基于精英反向学习和黄金正弦策略的改进鲸鱼优化算法
文章目录
- 一、理论基础
- 1、基本鲸鱼优化算法
- 2、精英反向学习的黄金正弦鲸鱼优化算法(EGolden-SWOA)
- (1)精英反向学习策略
- (2)黄金正弦算法
- (3)EGolden-SWOA算法步骤
- 二、仿真实验与结果分析
- 三、参考文献
一、理论基础
1、基本鲸鱼优化算法
请参考这里。
2、精英反向学习的黄金正弦鲸鱼优化算法(EGolden-SWOA)
(1)精英反向学习策略
该策略利用精英个体比一般个体包含更多有效信息的这一特点,通过当前种群中的精英个体构造出反向种群以此来增加种群的多样性,并从当前种群和反向种群构成的新种群中选取最优个体作为新一代个体,进入下一次的迭代。
精英反向解定义为:假设当前种群中的一般个体对应的自身极值点为精英个体 X i , j e = { X i , 1 e , X i , 2 e , ⋯ , X i , d e } , ( i = 1 , 2 , ⋯ , s ; j = 1 , 2 , ⋯ , d ) X_{i,j}^e=\{X_{i,1}^e,X_{i,2}^e,\cdots,X_{i,d}^e\},(i=1,2,\cdots,s;j=1,2,\cdots,d) Xi,je={Xi,1e,Xi,2e,⋯,Xi,de},(i=1,2,⋯,s;j=1,2,⋯,d),其反向解 O P i , j e = { O P i , 1 e , O P i , 2 e , ⋯ , O P i , d e } OP_{i,j}^e=\{OP_{i,1}^e,OP_{i,2}^e,\cdots,OP_{i,d}^e\} OPi,je={OPi,1e,OPi,2e,⋯,OPi,de},可以定义为: O P i , j e = K ⊕ ( α j + β j ) − X i , j e (1) OP_{i,j}^e=K\oplus(\alpha_j+\beta_j)-X_{i,j}^e\tag{1} OPi,je=K⊕(αj+βj)−Xi,je(1)其中, K K K为在 ( 0 , 1 ) (0,1) (0,1)上的d维向量; X i , j e ∈ [ α j , β j ] X_{i,j}^e\in[\alpha_j,\beta_j] Xi,je∈[αj,βj], α j = max ( X i , j ) \alpha_j=\max(X_{i,j}) αj=max(Xi,j), β j = min ( X i , j ) \beta_j=\min(X_{i,j}) βj=min(Xi,j), α j \alpha_j αj和 β j \beta_j βj为动态边界,动态边界克服了固定边界难以保存搜索经验的缺点,使精英反向解可以定位在狭窄的搜索空间中,有利于算法收敛。若动态边界操作使 O P i , j e OP_{i,j}^e OPi,je越过边界成为非可行解,可以利用随机生成的方法重置,重置方式如下: O P i , j e = r a n d ( α j , β j ) (2) OP_{i,j}^e=rand(\alpha_j,\beta_j)\tag{2} OPi,je=rand(αj,βj)(2)
(2)黄金正弦算法
请参考这里。
(3)EGolden-SWOA算法步骤
步骤1 设置相关参数;
步骤2 种群初始化,主要包括初始种群个体数 s s s、候选解维度 d d d、最大迭代次数 t max t_{\max} tmax;
步骤3 根据目标函数计算每一个鲸鱼个体的适应度值;
步骤4 反向种群 O P = { } OP=\{\} OP={};
步骤5 根据 α j = min ( X i , j ) , β j = max ( X i , j ) \alpha_j=\min(X_{i,j}),\beta_j=\max(X_{i,j}) αj=min(Xi,j),βj=max(Xi,j)计算个体的当前搜索边界;
步骤6 对种群中的每个个体根据式(1)生成精英反向解并添加到反向种群 O P OP OP中;
步骤7 从当前种群和反向种群中选取适应度值较好的 s s s个优良个体作为下一代种群,并将适应度值最小的个体位置记为猎物位置 X p t \boldsymbol X_p^t Xpt;
步骤8 更新参数 a a a、 A A A、 C C C;
步骤9 若参数 ∣ A ∣ ≥ 1 |A|≥1 ∣A∣≥1,根据基本鲸鱼优化算法相应公式进行位置更新;
步骤10 若参数 ∣ A ∣ < 1 |A|<1 ∣A∣<1,根据式(3)进行位置更新: X i t + 1 = { X p t − A ⋅ D , p r < 0.5 X i t ⋅ ∣ sin ( R 1 ) ∣ − R 2 ⋅ sin ( R 1 ) ⋅ ∣ x 1 X p t − x 2 X i t ∣ , p r ≥ 0.5 (3) \boldsymbol X_i^{t+1}=\begin{dcases}\boldsymbol X_p^t-A\cdot\boldsymbol D,\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad pr<0.5\\\boldsymbol X_i^t\cdot|\sin(R_1)|-R_2\cdot\sin(R_1)\cdot|x_1\boldsymbol X_p^t-x_2\boldsymbol X_i^t|,\,\,\,\,pr≥0.5\end{dcases}\tag{3} Xit+1={Xpt−A⋅D,pr<0.5Xit⋅∣sin(R1)∣−R2⋅sin(R1)⋅∣x1Xpt−x2Xit∣,pr≥0.5(3)
步骤11 利用约束条件检查新位置的可行性,若新位置可行则鲸鱼个体更新其位置,否则鲸鱼个体保持其原有位置;
步骤12 重复步骤3~步骤11,直到达到最大迭代次数 t max t_{\max} tmax时终止操作。
二、仿真实验与结果分析
本文选取了基本鲸鱼优化算法(WOA)、精英反向学习的黄金正弦鲸鱼算法(EGolden-SWOA)、粒子群算法(PSO)以及黄金正弦(Golden-SA)进行对比,所有算法的种群规模设为30,迭代次数设为500,所共有参数保持一致,每个算法独立运算30次,以文献[1]中的f1、f5、f12、f15为例。
结果显示如下:
函数:F1
WOA:最优值: 1.8874e-86,最差值:7.8583e-70,平均值:2.7478e-71,标准差:1.4335e-70
EGolden_SWOA:最优值: 1.4885e-216,最差值:9.3712e-203,平均值:3.5866e-204,标准差:0
Gold-SA:最优值: 0,最差值:1.2588e-210,平均值:4.1974e-212,标准差:0
PSO:最优值: 324.8933,最差值:1688.0045,平均值:917.8114,标准差:307.1331
函数:F5
WOA:最优值: 27.247,最差值:28.7586,平均值:27.9357,标准差:0.4719
EGolden_SWOA:最优值: 25.0283,最差值:26.5183,平均值:25.663,标准差:0.3332
Gold-SA:最优值: 3.4481e-06,最差值:0.029329,平均值:0.0034692,标准差:0.005847
PSO:最优值: 19274.1961,最差值:632208.6901,平均值:120426.0906,标准差:115483.9033
函数:F12
WOA:最优值: 0.0045388,最差值:0.12492,平均值:0.026394,标准差:0.022246
EGolden_SWOA:最优值: 1.3172e-07,最差值:7.5024e-06,平均值:2.0238e-06,标准差:1.5477e-06
Gold-SA:最优值: 4.3049e-10,最差值:7.2153e-05,平均值:1.0382e-05,标准差:1.8634e-05
PSO:最优值: 7.4093,最差值:1385.0577,平均值:68.9472,标准差:249.207
函数:F15
WOA:最优值: 0.00030776,最差值:0.0022514,平均值:0.00072381,标准差:0.00043978
EGolden_SWOA:最优值: 0.00030749,最差值:0.00031074,平均值:0.00030795,标准差:6.8855e-07
Gold-SA:最优值: 0.00030974,最差值:0.00166,平均值:0.00041223,标准差:0.00024192
PSO:最优值: 0.00030749,最差值:0.020363,平均值:0.0018993,标准差:0.0050342
由上述例子可以看出EGolden-SWOA算法只在F5的最优解不如Gold-SA,其他均优于对比算法,这表明,EGolden-SWOA具有更好的寻优精度和稳定性。
三、参考文献
[1] 肖子雅, 刘升. 精英反向黄金正弦鲸鱼算法及其工程优化研究[J]. 电子学报, 2019, 47(10): 2177-2186.
更多推荐
基于精英反向学习和黄金正弦策略的改进鲸鱼优化算法
发布评论