一、理论基础
1、瞬态搜索优化算法
瞬态搜索优化(Transient search optimization, TSO)算法是一种新的基于物理的元启发式优化算法,该算法受开关电路瞬态行为的启发,开关电路包括电感和电容等存储元件。
在本节中,TSO算法建模为:
1)初始化搜索空间上下限之间的搜索代理;
2)搜索最佳解决方案(探索);
3)达到稳态或最佳解决方案(开发)。
首先,如式(1)所示,随机生成搜索代理的初始化。
Y
=
l
b
+
r
a
n
d
×
(
u
b
−
l
b
)
(1)
Y=lb+rand\times(ub-lb)\tag{1}
Y=lb+rand×(ub−lb)(1)其中,
l
b
lb
lb是搜索空间的下界,
u
b
ub
ub是搜索空间的上界,
r
a
n
d
rand
rand是
(
0
,
1
)
(0,1)
(0,1)间均匀分布的随机向量。
其次,TSO算法开发和探索的数学模型如式(2)所示。
Y
l
+
1
=
{
Y
l
∗
+
(
Y
l
−
C
1
⋅
Y
l
)
e
−
T
r
1
<
0.5
Y
l
∗
+
e
−
T
[
cos
(
2
π
T
)
+
sin
(
2
π
T
)
]
∣
Y
l
−
C
1
⋅
Y
l
∗
∣
r
1
≥
0.5
(2)
Y_{l+1}=\begin{dcases}Y_l^*+(Y_l-C_1\cdot Y_l)e^{-T}\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\,\,\,\, r_1<0.5\\Y_l^*+e^{-T}[\cos(2\pi T)+\sin(2\pi T)]|Y_l-C_1\cdot Y_l^*|\quad r_1\geq0.5\end{dcases}\tag{2}
Yl+1={Yl∗+(Yl−C1⋅Yl)e−Tr1<0.5Yl∗+e−T[cos(2πT)+sin(2πT)]∣Yl−C1⋅Yl∗∣r1≥0.5(2)
T
=
2
×
z
×
r
2
−
z
(3)
T=2\times z\times r_2-z\tag{3}
T=2×z×r2−z(3)
C
1
=
k
×
z
×
r
3
+
1
(4)
C_1=k\times z\times r_3+1\tag{4}
C1=k×z×r3+1(4)
z
=
2
−
2
(
l
L
max
)
(5)
z=2-2\left(l\over L_{\max}\right)\tag{5}
z=2−2(Lmaxl)(5)其中,
z
z
z是一个从2到0的衰减变量,
T
T
T和
C
1
C_1
C1是随机系数,
r
1
,
r
2
,
r
3
r_1,r_2,r_3
r1,r2,r3是
[
0
,
1
]
[0,1]
[0,1]的随机数,
Y
l
Y_l
Yl是当前搜索代理的位置,
Y
l
∗
Y_l^*
Yl∗是全局最优个体位置,
l
l
l是当前迭代次数,
k
k
k是一个常数(
k
=
0
,
1
,
2
,
⋯
k=0,1,2,\cdots
k=0,1,2,⋯),
L
max
L_{\max}
Lmax是最大迭代次数。此外,探索和开发过程之间的平衡通过系数
T
T
T实现,系数
T
T
T在
[
−
2
,
2
]
[−2,2]
[−2,2]之间变化。 TSO算法的开发过程在
T
>
0
T>0
T>0时完成,而探索过程在
T
<
0
T<0
T<0时完成。
2、TSO算法伪代码
TSO算法的伪码如图1所示。显然,所提供的算法并不复杂,只使用一个方程来更新位置,并在探索和开发过程之间进行平衡。
二、仿真实验与分析
1、函数测试与数值分析
将TSO与SSA、DE、GWO、CS和WOA进行对比,以文献[1]中的F3、F4(单峰函数/30维)、F11、F12(多峰函数/30维)、F18、F20(固定维度多峰函数/2维、6维)为例,种群规模设置为30,最大迭代次数设置为500,每个算法独立运算30次。结果显示如下:
函数:F3
TSO:最差值: 1.6989e-40, 最优值: 7.031e-128, 平均值: 5.6703e-42, 标准差: 3.1016e-41, 秩和检验: 1
SSA:最差值: 4270.7964, 最优值: 471.3609, 平均值: 1868.2474, 标准差: 966.346, 秩和检验: 3.0199e-11
DE:最差值: 32399.3101, 最优值: 11850.0845, 平均值: 19873.0244, 标准差: 4926.5517, 秩和检验: 3.0199e-11
GWO:最差值: 0.0019457, 最优值: 5.0106e-09, 平均值: 6.9569e-05, 标准差: 0.00035448, 秩和检验: 3.0199e-11
CS:最差值: 3163.1127, 最优值: 1079.1188, 平均值: 2179.7134, 标准差: 578.7552, 秩和检验: 3.0199e-11
WOA:最差值: 68993.0173, 最优值: 10004.0005, 平均值: 39663.5254, 标准差: 15404.4347, 秩和检验: 3.0199e-11
函数:F4
TSO:最差值: 3.9849e-41, 最优值: 2.2873e-76, 平均值: 1.3283e-42, 标准差: 7.2755e-42, 秩和检验: 1
SSA:最差值: 19.5596, 最优值: 3.0564, 平均值: 10.6792, 标准差: 3.8958, 秩和检验: 3.0199e-11
DE:最差值: 21.0449, 最优值: 2.8168, 平均值: 8.9523, 标准差: 4.3934, 秩和检验: 3.0199e-11
GWO:最差值: 7.304e-06, 最优值: 3.4617e-08, 平均值: 1.1709e-06, 标准差: 1.7002e-06, 秩和检验: 3.0199e-11
CS:最差值: 15.5269, 最优值: 6.9186, 平均值: 10.525, 标准差: 2.3876, 秩和检验: 3.0199e-11
WOA:最差值: 87.5032, 最优值: 0.01732, 平均值: 48.4029, 标准差: 27.5881, 秩和检验: 3.0199e-11
函数:F11
TSO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
SSA:最差值: 0.059638, 最优值: 0.00021308, 平均值: 0.018893, 标准差: 0.014805, 秩和检验: 1.2118e-12
DE:最差值: 0.0074155, 最优值: 2.4629e-07, 平均值: 0.00050054, 标准差: 0.0018793, 秩和检验: 1.2118e-12
GWO:最差值: 0.025795, 最优值: 0, 平均值: 0.0035243, 标准差: 0.0077095, 秩和检验: 0.011035
CS:最差值: 1.1417, 最优值: 1.032, 平均值: 1.0706, 标准差: 0.027996, 秩和检验: 1.2118e-12
WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F12
TSO:最差值: 0.00043784, 最优值: 1.8904e-08, 平均值: 6.7585e-05, 标准差: 0.00010746, 秩和检验: 1
SSA:最差值: 17.1121, 最优值: 0.87951, 平均值: 7.0683, 标准差: 3.5374, 秩和检验: 3.0199e-11
DE:最差值: 0.15085, 最优值: 2.9892e-08, 平均值: 0.0056594, 标准差: 0.027626, 秩和检验: 0.00022539
GWO:最差值: 0.097754, 最优值: 0.0089264, 平均值: 0.050202, 标准差: 0.025139, 秩和检验: 3.0199e-11
CS:最差值: 5.543, 最优值: 0.91483, 平均值: 3.1942, 标准差: 1.0176, 秩和检验: 3.0199e-11
WOA:最差值: 0.16915, 最优值: 0.0033935, 平均值: 0.026915, 标准差: 0.029731, 秩和检验: 3.0199e-11
函数:F18
TSO:最差值: 32.687, 最优值: 3, 平均值: 4.8911, 标准差: 7.2043, 秩和检验: 1
SSA:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 2.7557e-13, 秩和检验: 3.0199e-11
DE:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 4.9479e-16, 秩和检验: 3.1602e-12
GWO:最差值: 3.0001, 最优值: 3, 平均值: 3, 标准差: 3.4395e-05, 秩和检验: 0.063533
CS:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.6369e-15, 秩和检验: 2.5725e-11
WOA:最差值: 3.0006, 最优值: 3, 平均值: 3.0001, 标准差: 0.00012845, 秩和检验: 0.025101
函数:F20
TSO:最差值: -2.6046, 最优值: -3.2837, 平均值: -3.0699, 标准差: 0.1273, 秩和检验: 1
SSA:最差值: -3.1586, 最优值: -3.322, 平均值: -3.2269, 标准差: 0.059257, 秩和检验: 5.5329e-08
DE:最差值: -3.2031, 最优值: -3.322, 平均值: -3.2308, 标准差: 0.051146, 秩和检验: 6.8144e-09
GWO:最差值: -2.8404, 最优值: -3.322, 平均值: -3.2494, 标准差: 0.10671, 秩和检验: 5.0922e-08
CS:最差值: -3.322, 最优值: -3.322, 平均值: -3.322, 标准差: 1.1052e-06, 秩和检验: 3.0199e-11
WOA:最差值: -3.0818, 最优值: -3.3212, 平均值: -3.2162, 标准差: 0.09865, 秩和检验: 2.4913e-06
实验结果表明:TSO算法与其他优化算法相比,能够有效提升算法的收敛速度和寻优精度,以及具有更好的稳定性。
2、求解压缩弹簧设计优化问题
压缩弹簧优化设计问题具体请参考这里。仿真实验中,6种算法的运行次数、种群规模和最大迭代次数都保持一致,即
N
=
30
,
L
max
=
500
N=30,L_{\max}=500
N=30,Lmax=500,每种算法分别独立运行30次。结果显示如下:
TSO:最差值: 0.016623, 最优值: 0.012714, 平均值: 0.013682, 标准差: 0.00079659, 秩和检验: 1
SSA:最差值: 0.026182, 最优值: 0.012683, 平均值: 0.013962, 标准差: 0.0025757, 秩和检验: 0.036439
DE:最差值: 2.78, 最优值: 0.020306, 平均值: 0.35342, 标准差: 0.63071, 秩和检验: 3.0199e-11
GWO:最差值: 0.013552, 最优值: 0.012676, 平均值: 0.012795, 标准差: 0.00018061, 秩和检验: 5.9673e-09
CS:最差值: 0.012675, 最优值: 0.012666, 平均值: 0.012668, 标准差: 2.0512e-06,秩和检验:3.0199e-11
WOA:最差值: 0.017776,最优值:0.012697,平均值:0.014115,标准差:0.0013988, 秩和检验: 0.4553
实验结果表明:TSO算法在求解压缩弹簧设计约束优化问题时具有很好的性能。
3、WSN三维覆盖优化
节点覆盖模型请参考这里。设监测区域为
50
m
×
50
m
×
50
m
50m\times50m\times50m
50m×50m×50m的三维空间,传感器节点个数
N
=
30
N=30
N=30,其感知半径是
R
s
=
10
m
R_s=10m
Rs=10m,通信半径
R
c
=
20
m
R_c=20m
Rc=20m,迭代500次。初始部署、TSO优化覆盖、TSO算法覆盖率进化曲线如下图所示。
初始部署和最终部署的节点位置及对应的覆盖率分别为:
初始位置:
7.006 44.2859 2.5367
16.6662 21.608 2.2573
5.0114 27.6175 5.1302
5.9041 27.4724 45.5392
21.5888 40.5542 48.2726
9.673 32.3202 6.1681
20.7338 23.7517 36.4837
48.8447 30.5909 22.9535
44.6453 5.7608 24.3537
33.6933 47.0303 16.1217
1.1549 9.2968 34.8589
16.4566 38.2497 15.7447
35.4464 29.4103 39.6782
21.261 0.1561 9.3935
34.1647 9.6075 41.0216
41.2692 37.7166 6.7542
23.7176 47.9804 35.7585
37.9087 38.7282 35.2308
2.2938 3.8691 29.1655
3.0118 45.3744 21.2036
43.9691 30.4769 42.1771
8.6733 24.511 47.8628
43.1201 29.5537 12.1197
6.2476 33.7217 30.6946
24.1915 6.3621 45.8918
2.3205 9.9397 21.5707
30.6656 32.5249 6.3104
23.6937 14.0488 2.002
38.2021 4.2468 3.5364
15.1711 23.1964 15.0327
初始覆盖率:0.59443
最优位置:
41.8646 6.7509 41.8647
28.4248 28.6055 41.8693
41.8682 25.2768 41.8671
41.8646 25.4888 6.0716
28.6043 9.3183 4.5926
41.8647 17.8143 41.8647
28.6322 28.4286 12.5721
4.2831 21.3633 28.2561
6.5553 41.8678 28.3248
15.9321 5.2648 28.7043
41.8647 41.8647 14.5814
28.5387 10.977 28.625
13.8583 21.7306 9.9097
28.34 41.8677 41.8648
15.4065 41.8657 8.9918
8.8142 11.4179 41.8646
28.3737 4.7507 13.4743
11.264 10.5742 14.1236
41.8645 41.8647 21.9302
41.8647 6.1608 28.3048
6.9413 20.5023 8.1644
41.8647 28.336 4.8144
7.489 23.4757 41.8649
41.8646 15.9171 20.1871
28.2556 41.8658 5.8808
41.8647 41.8648 28.5338
20.2291 17.5191 41.8647
28.4901 28.6996 28.2099
11.017 41.8649 41.8645
28.2336 28.5867 28.2474
最优覆盖率:0.67581
实验结果表明:TSO算法能够提升三维无线传感器网络中节点部署的覆盖率。
三、参考文献
[1] Qais, M.H., Hasanien, H.M., Alghuwainem, S. Transient search optimization: a new meta-heuristic optimization algorithm[J]. Applied Intelligence, 2020, 50: 3926-3941.