文章目录
一、理论基础
1、正余弦算法SCA
请参考这里。
2、基于惯性权重与柯西混沌变异的改进正余弦算法IWCCSCA
(1)基于曲线自适应的振幅调整因子
基本SCA中线性的振幅调整因子无法有效提升SCA算法的寻优精度和收敛速度,为此,IWCCSCA算法设计了一种基于指数函数的曲线自适应振动调整因子的更新方法,定义为: r 1 ( t ) = a − a × [ 1 e − 1 × ( e t T max − 1 ) ] k (1) r_1(t)=a-a\times[\frac{1}{e-1}\times(e^{\frac{t}{T_{\max}}}-1)]^k\tag{1} r1(t)=a−a×[e−11×(eTmaxt−1)]k(1)其中, k k k为调节系数。根据式(1), r 1 r_1 r1的递减速率随迭代先慢后快,这表明前期的迭代次数比原始SCA算法更多,可以相对增强全局搜索能力,而削弱开发能力,这有助于在更大空间内搜寻最优解。而后期 r 1 r_1 r1将加速递减,加快算法收敛。
(2)基于惯性权重的位置更新
IWCCSCA算法借助粒子群中惯性权重思维,增强位置更新中的全局搜索能力。粒子群算法中的惯性权重机制是:迭代早期,较大惯性权重可以提升全局搜索能力;迭代晚期,较小惯性权重可以增强局部开发能力,加速算法收敛。同时,IWCCSCA算法将改进传统粒子群中惯性权重的线性取值方式,设计一种自适应的递减惯性权重更新机制,具体方式为: w ( t ) = w min + ( w max − w min ) exp ( − 1 2 × ( t T max ) 2 ) (2) w(t)=w_{\min}+(w_{\max}-w_{\min})\exp(-\frac12\times(\frac{t}{T_{\max}})^2)\tag{2} w(t)=wmin+(wmax−wmin)exp(−21×(Tmaxt)2)(2)其中, w max w_{\max} wmax为初始惯性权重,即惯性权重最大值; w min w_{\min} wmin为迭代结束时的惯性权重,即惯性权重最小值。则新的位置更新方式为: x i , j ( t + 1 ) = { w ( t ) ⋅ x i , j ( t ) + r 1 ⋅ sin r 2 ⋅ ∣ r 3 ⋅ x g b , j − x i , j ( t ) ∣ , r 4 < 0.5 w ( t ) ⋅ x i , j ( t ) + r 1 ⋅ cos r 2 ⋅ ∣ r 3 ⋅ x g b , j − x i , j ( t ) ∣ , r 4 ≥ 0.5 (3) x_{i,j}(t+1)=\begin{dcases}w(t)\cdot x_{i,j}(t)+r_1\cdot\sin r_2\cdot|r_3\cdot x_{gb,j}-x_{i,j}(t)|,\quad r_4<0.5\\w(t)\cdot x_{i,j}(t)+r_1\cdot\cos r_2\cdot|r_3\cdot x_{gb,j}-x_{i,j}(t)|,\quad r_4\geq 0.5\end{dcases}\tag{3} xi,j(t+1)={w(t)⋅xi,j(t)+r1⋅sinr2⋅∣r3⋅xgb,j−xi,j(t)∣,r4<0.5w(t)⋅xi,j(t)+r1⋅cosr2⋅∣r3⋅xgb,j−xi,j(t)∣,r4≥0.5(3)
(3)基于精英柯西混沌变异的个体扰动
IWCCSCA算法进一步引进混合柯西混沌变异机制对当前最优解
x
g
b
x_{gb}
xgb进行扰动。具体地,通过引入柯西变异对当前最优个体进行扰动,避免陷入局部最优;利用混沌系统的遍历性和随机性,引入混沌变异提升种群多样性,扩大搜索空间。
将柯西算子引入当前最优解的位置更新中,利用柯西算子的调节功能,使算法跳离局部最优。基于柯西变异的个体更新方式为:
x
n
e
w
=
x
g
b
+
c
a
u
c
h
y
⋅
x
g
b
(4)
x_{new}=x_{gb}+cauchy\cdot x_{gb}\tag{4}
xnew=xgb+cauchy⋅xgb(4)其中,参数
c
a
u
c
h
y
cauchy
cauchy表示服从标准柯西分布的柯西算子,
x
n
e
w
x_{new}
xnew为精英个体经过柯西变异的个体。
而基于混沌变异的个体更新方式为:
x
n
e
w
=
x
min
+
φ
×
(
x
max
−
x
min
)
(5)
x_{new}=x_{\min}+\varphi\times(x_{\max}-x_{\min})\tag{5}
xnew=xmin+φ×(xmax−xmin)(5)其中,
φ
\varphi
φ为Logistic混沌值,定义为:
φ
(
t
+
1
)
=
c
×
φ
(
t
)
×
(
1
−
φ
(
t
)
)
(6)
\varphi(t+1)=c\times\varphi(t)\times(1-\varphi(t))\tag{6}
φ(t+1)=c×φ(t)×(1−φ(t))(6)其中,
c
c
c为混沌参数,且
c
=
4
c=4
c=4。
综上,将精英个体的变异扰动方式定义为:
x
n
e
w
=
{
x
g
b
+
c
a
u
c
h
y
⋅
x
g
b
,
r
5
>
0.5
x
min
+
φ
×
(
x
max
−
x
min
)
,
r
5
≥
0.5
(7)
x_{new}=\begin{dcases}x_{gb}+cauchy\cdot x_{gb},\quad\quad\,\,\,\, r_5>0.5\\x_{\min}+\varphi\times(x_{\max}-x_{\min}),\quad r_5\geq0.5\end{dcases}\tag{7}
xnew={xgb+cauchy⋅xgb,r5>0.5xmin+φ×(xmax−xmin),r5≥0.5(7)其中,
r
5
r_5
r5为
(
0
,
1
)
(0,1)
(0,1)内的随机值。
(4)IWCCSCA算法流程图
IWCCSCA算法流程如图1所示。
二、数值仿真实验与分析
种群规模
N
=
30
N=30
N=30、最大迭代次数
T
max
=
400
T_{\max}=400
Tmax=400、维数
d
i
m
=
30
dim=30
dim=30、振动调整因子的常量
a
=
2
a=2
a=2、调节系数
k
=
3
k=3
k=3、初始惯性权重
w
max
=
0.9
w_{\max}=0.9
wmax=0.9、终止惯性权重
w
min
=
0.4
w_{\min}=0.4
wmin=0.4,实验运行次数为20。对比算法选择如下:基本正余弦算法SCA和基于指数转换参数的正余弦算法PSCA。以文献[1]表1列出的8个测试函数为例,结果显示如下:
函数:F1
SCA:最差值: 254.484, 最优值: 2.5328, 平均值: 46.7398, 标准差: 61.2968, 秩和检验: 6.7956e-08
PSCA:最差值: 10.5356, 最优值: 0.0011587, 平均值: 1.9751, 标准差: 2.9425, 秩和检验: 6.7956e-08
IWCCSCA:最差值: 1.6333e-43, 最优值: 5.6474e-71, 平均值: 8.7836e-45, 标准差: 3.6468e-44, 秩和检验: 1
函数:F2
SCA:最差值: 0.36992, 最优值: 0.00081405, 平均值: 0.053841, 标准差: 0.088566, 秩和检验: 6.7956e-08
PSCA:最差值: 0.011889, 最优值: 3.6898e-05, 平均值: 0.0032386, 标准差: 0.0038945, 秩和检验: 6.7956e-08
IWCCSCA:最差值: 6.7516e-25, 最优值: 8.5204e-38, 平均值: 6.2738e-26, 标准差: 1.6213e-25, 秩和检验: 1
函数:F3
SCA:最差值: 20713.4142, 最优值: 2282.1786, 平均值: 11507.6663, 标准差: 5884.1461, 秩和检验: 6.7956e-08
PSCA:最差值: 35321.4131, 最优值: 680.4789, 平均值: 13540.968, 标准差: 9784.8087, 秩和检验: 6.7956e-08
IWCCSCA:最差值: 5.3372e-38, 最优值: 1.0293e-68, 平均值: 2.6686e-39, 标准差: 1.1934e-38, 秩和检验: 1
函数:F4
SCA:最差值: 68.7093, 最优值: 14.8243, 平均值: 38.9219, 标准差: 14.3695, 秩和检验: 6.7956e-08
PSCA:最差值: 89.1182, 最优值: 8.9436, 平均值: 57.2833, 标准差: 21.4, 秩和检验: 6.7956e-08
IWCCSCA:最差值: 5.2409e-23, 最优值: 2.1411e-39, 平均值: 3.9453e-24, 标准差: 1.2489e-23, 秩和检验: 1
函数:F5
SCA:最差值: 219, 最优值: 2, 平均值: 28.05, 标准差: 49.2507, 秩和检验: 7.8754e-09
PSCA:最差值: 21, 最优值: 0, 平均值: 2.35, 标准差: 4.9127, 秩和检验: 0.00016023
IWCCSCA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F6
SCA:最差值: 127.9184, 最优值: 3.2215, 平均值: 53.9835, 标准差: 43.7824, 秩和检验: 8.0065e-09
PSCA:最差值: 105.9231, 最优值: 0.0012799, 平均值: 38.7323, 标准差: 28.7605, 秩和检验: 8.0065e-09
IWCCSCA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F7
SCA:最差值: 2.9642, 最优值: 0.63034, 平均值: 1.269, 标准差: 0.49201, 秩和检验: 8.0065e-09
PSCA:最差值: 4.1635, 最优值: 0.017255, 平均值: 0.92817, 标准差: 0.82563, 秩和检验: 8.0065e-09
IWCCSCA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F8
SCA:最差值: 20.3048, 最优值: 0.08572, 平均值: 12.3763, 标准差: 8.8376, 秩和检验: 8.0065e-09
PSCA:最差值: 20.4029, 最优值: 0.012168, 平均值: 11.983, 标准差: 9.7482, 秩和检验: 8.0065e-09
IWCCSCA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
实验结果表明:IWCCSCA算法能够有效提升收敛速度和寻优精度。
三、参考文献
[1] 陈亮, 汤显峰. 改进正余弦算法优化特征选择及数据分类[J/OL]. 计算机应用: 1-11 [2021-12-20].