文章目录
一、理论基础
1、社交网络搜索算法
社交网络搜索(Social Network Search,SNS)算法S. Talatahari等人于2021年提出的一种新的求解优化问题的元启发式算法,该算法主要模拟了用户表达意见时的情绪,即模仿、对话、争论和创新,这些是人们在社交网络中的真实行为,这些行为被用作优化算子,并模拟用户如何受到影响以及如何激励用户分享他们的新观点。
1.1 情绪1:模仿
对于大多数人而言,当被关注者发布一些新的观点时,通常会努力模仿他们,模仿行为可以表示为:
X
i
n
e
w
=
X
j
+
r
a
n
d
(
−
1
,
1
)
×
R
R
=
r
a
n
d
(
0
,
1
)
×
r
r
=
X
j
−
X
i
(1)
X_{i\,new}=X_j+rand(-1,1)\times R\\[2ex]R=rand(0,1)\times r\\[2ex]r = X_j-X_i\tag{1}
Xinew=Xj+rand(−1,1)×RR=rand(0,1)×rr=Xj−Xi(1)其中,
X
j
X_j
Xj是随机选择的第
j
j
j个用户的观点(位置),
X
i
X_i
Xi是第
i
i
i个用户的观点,且
i
≠
j
i\neq j
i=j;
r
a
n
d
(
−
1
,
1
)
rand(-1,1)
rand(−1,1)和
r
a
n
d
(
0
,
1
)
rand(0,1)
rand(0,1)分别为
[
−
1
,
1
]
[-1,1]
[−1,1]和
[
0
,
1
]
[0,1]
[0,1]区间内的随机向量;冲击半径
R
R
R反映了第
j
j
j个用户的影响程度,其大小被视为
r
r
r的倍数,
r
r
r的值显示了第
j
j
j个用户的受欢迎半径,它是根据第
i
i
i个和第
j
j
j个用户的观点差异计算出来的。此外,冲击半径的最终影响通过将其值乘以
[
−
1
,
1
]
[-1,1]
[−1,1]区间内的随机向量来反映,在该区间内,如果随机向量的分量为正,则共享的观点将与第
j
j
j次意见一致,反之亦然。
可以看出,通过使用式(1),模仿的空间将形成,然后在模仿空间中找到一个新的视点,在网络上共享。
1.2 情绪2:对话
在社交网络中,用户可以进行虚拟交互,并就不同的问题进行交谈。对话是一种状态,在这种状态下,用户相互学习,并以私人聊天的形式增加有关事件的信息。在对话中,用户通过其他观点发现事件,最后,由于观点不同,他们可以根据式(2)得出问题的新观点:
X
i
n
e
w
=
X
k
+
R
R
=
r
a
n
d
(
0
,
1
)
×
D
D
=
sign
(
f
i
−
f
j
)
×
(
X
j
−
X
i
)
(2)
X_{i\,new}=X_k+R\\[2ex]R=rand(0,1)\times D\\[2ex]D=\text{sign}(f_i-f_j)\times(X_j-X_i)\tag{2}
Xinew=Xk+RR=rand(0,1)×DD=sign(fi−fj)×(Xj−Xi)(2)其中,
X
k
X_k
Xk展示了随机选择的问题向量,
R
R
R是聊天的效果,基于观点的差异,代表了他们对问题的观念的变化;
D
D
D是用户观点之间的差异,它不是计算视图之间差异的参数;
r
a
n
d
(
0
,
1
)
rand(0,1)
rand(0,1)是
[
0
,
1
]
[0,1]
[0,1]区间内的随机向量;
X
j
X_j
Xj是随机选择的用户意见的向量,
X
i
X_i
Xi是第
i
i
i个用户的观点向量,且
i
≠
j
≠
k
i\neq j\neq k
i=j=k;
sign
\text{sign}
sign是符号函数,
sign
(
f
i
−
f
j
)
\text{sign}(f_i-f_j)
sign(fi−fj)通过比较
f
i
f_i
fi和
f
j
f_j
fj来确定
X
k
X_k
Xk的移动方向。
可以注意到,由于与第
j
j
j个用户的对话,用户对问题的看法发生了变化。改变后的观点被认为是与他人分享的新观点。更改用户对事件的看法被视为事件的重新定位。
1.3 情绪3:争论
在对这种情绪进行建模时,随机数量的用户被视为评论者,争论中新的受影响观点如下所示: X i n e w = X i + r a n d ( 0 , 1 ) × ( M − A F × A i ) M = ∑ t N r X t N r A F = 1 + round ( r a n d ) (3) \begin{array}{c}X_{i\,new}=X_i+rand(0,1)\times(M-AF\times A_i)\\[2ex]M=\displaystyle\frac{\sum_{t}^{N_r}X_t}{N_r}\\[2ex]AF=1+\text{round}(rand)\end{array}\tag{3} Xinew=Xi+rand(0,1)×(M−AF×Ai)M=Nr∑tNrXtAF=1+round(rand)(3)其中, X i X_i Xi是第 i i i个用户的观点向量; r a n d ( 0 , 1 ) rand(0,1) rand(0,1)为 [ 0 , 1 ] [0,1] [0,1]区间内的随机向量; M M M是小组中评论者或朋友的观点的平均值; A F AF AF是允许因子,表示用户在与其他人讨论时坚持自己的观点,是一个随机整数,可以是1或2; round ( ⋅ ) \text{round}(\cdot) round(⋅)是一个将其输入舍入到最近整数的函数; r a n d rand rand是区间 [ 0 , 1 ] [0,1] [0,1]中的随机数; N r N_r Nr是评论者成员小组的数量,是介于1和 N u s e r N_{user} Nuser之间的随机数, N u s e r N_{user} Nuser是网络的用户数(网络规模)。
1.4 情绪4:创新
通过改变对其中一个主题的看法,主题的总体概念将发生变化,从而产生一种新颖的观点。这个概念被用来通过创新情绪形成新的观点,如下所示:
x
i
n
e
w
d
=
t
×
x
j
d
+
(
1
−
t
)
×
n
n
e
w
d
n
n
e
w
d
=
l
b
d
+
r
a
n
d
1
×
(
u
b
d
−
l
b
d
)
t
=
r
a
n
d
2
(4)
x_{i\,new}^d=t\times x_j^d+(1-t)\times n_{new}^d\\[2ex]n_{new}^d=lb_d+rand_1\times(ub_d-lb_d)\\[2ex]t=rand_2\tag{4}
xinewd=t×xjd+(1−t)×nnewdnnewd=lbd+rand1×(ubd−lbd)t=rand2(4)其中,
d
d
d是在区间
[
1
,
D
]
[1,D]
[1,D]中随机选择的第
d
d
d个变量变量,
D
D
D是问题变量的维数;
r
a
n
d
1
rand_1
rand1和
r
a
n
d
2
rand_2
rand2均为区间
[
0
,
1
]
[0,1]
[0,1]中的两个随机数;
u
b
d
ub_d
ubd和
l
b
d
lb_d
lbd分别为第
d
d
d维变量的最大值和最小值;
n
n
e
w
d
n_{new}^d
nnewd表示了关于第
d
d
d维度的新想法;
x
j
d
x_j^d
xjd是另一个用户(随机选择的第
j
j
j个用户,
i
≠
j
i\neq j
i=j)提出的关于第
d
d
d维变量的当前想法,第
i
i
i个用户因为新想法
n
n
e
w
d
n_{new}^d
nnewd而想要更改它。最后,第
d
d
d维变量的新观点将被创建为
x
i
n
e
w
d
x_{i\,new}^d
xinewd,
x
i
n
e
w
d
x_{i\,new}^d
xinewd是关于当前想法(
x
j
d
x_j^d
xjd)和新想法(
n
n
e
w
d
n_{new}^d
nnewd)的插值。
一维更改(
x
i
n
e
w
d
x_{i\,new}^d
xinewd)会导致主要概念的一般更改,可以将其视为一个新的观点进行共享。这个过程可以建模如下:
X
i
n
e
w
=
[
x
1
,
x
2
,
x
3
,
⋯
,
x
i
n
e
w
d
,
⋯
,
x
D
]
(5)
X_{i\,new}=[x_1,x_2,x_3,\cdots,x_{i\,new}^d,\cdots,x_D]\tag{5}
Xinew=[x1,x2,x3,⋯,xinewd,⋯,xD](5)从式(5)中可以看出,
x
i
n
e
w
d
x_{i\,new}^d
xinewd是从
d
d
d维的角度对正在考虑的问题的新见解,并被当前观点(
x
i
d
x_i^d
xid)取代。
2、SNS算法流程图
SNS算法流程图如图1所示。
二、仿真实验与结果分析
1、WSN覆盖优化
本文采用0/1模型,节点覆盖模型请参考这里。设监测区域为
50
m
×
50
m
50m×50m
50m×50m的二维平面,传感器节点个数
N
=
35
N=35
N=35,其感知半径是
R
s
=
5
m
R_s=5m
Rs=5m,通信半径
R
c
=
10
m
R_c=10m
Rc=10m,迭代1000次。初始部署、SNS优化覆盖、SNS算法覆盖率进化曲线如下图所示:
初始部署和最终部署的节点位置及对应的覆盖率分别为:
初始位置:
22.5499 28.4874
20.3867 48.7129
6.1042 12.4292
14.1581 3.9944
47.696 16.6955
38.7242 8.8791
30.7275 34.021
40.0919 16.7107
29.549 22.4931
7.7538 20.3724
34.6787 37.4475
44.3792 10.0401
24.953 29.6851
5.7886 19.7886
22.5251 15.0855
29.0923 46.0612
27.7221 43.8361
34.6975 0.51783
11.2536 3.6968
36.8988 45.6263
45.2967 25.3818
25.1029 5.7949
5.3845 28.4949
0.96383 23.5462
1.6717 13.7243
9.1726 24.355
8.2576 36.8472
32.1823 10.8076
47.2685 46.7185
5.2357 30.4405
47.3252 36.4486
0.61423 0.52956
49.1745 14.5588
39.0494 4.9369
0.23378 45.2923
初始覆盖率:0.6955
最优位置:
22.854 31.7712
30.0477 44.1629
16.3765 24.2179
33.6768 14.5734
9.7294 30.5559
3.6713 3.9087
37.3726 4.0766
45.7651 30.3648
14.7749 35.8471
39.4181 23.0991
45.1397 38.0959
10.8499 45.2126
32.478 22.1827
27.0646 36.3543
2.344 15.3483
47.4843 21.1404
46.4631 13.0189
28.9219 3.0913
4.1141 36.2435
4.2345 25.5798
21.5106 6.231
18.6627 14.6295
36.5233 35.2026
27.3071 12.3893
24.6969 21.4438
38.4162 44.2453
14.7734 2.9531
31.2119 28.3282
46.0144 46.0496
9.3684 11.1616
46.1373 3.429
40.0201 12.6088
3.0905 44.6605
10.3775 20.1552
20.8511 45.7544
最优覆盖率:0.90619
2、工程优化
以压缩弹簧设计、三杆桁架设计、工字梁设计优化问题为例,具体问题模型请参考这里。将INFO与CS、GWO、SOS、TLBO和WOA进行对比,实验设置种群规模为50,最大迭代次数为500,每个算法独立运行30次,结果显示如下:
压缩弹簧设计问题
SNS:最差值: 0.012728,最优值:0.012666,平均值:0.012673,标准差:1.1692e-05,秩和检验:1.3111e-08
CS:最差值: 0.012678,最优值:0.012665,平均值:0.012667,标准差:2.4089e-06,秩和检验:1.4643e-10
GWO:最差值: 0.013245,最优值:0.012676,平均值:0.01276,标准差:0.00010343,秩和检验:9.7917e-05
SOS:最差值: 0.012682,最优值:0.012665,平均值:0.012669,标准差:3.881e-06,秩和检验:2.9215e-09
TLBO:最差值: 0.012717,最优值:0.012666,平均值:0.012683,标准差:1.2078e-05,秩和检验:3.8053e-07
WOA:最差值: 0.016746,最优值:0.012667,平均值:0.013713,标准差:0.0012295,秩和检验:1
三杆桁架设计问题
SNS:最差值: 263.8958,最优值:263.8958,平均值:263.8958,标准差:1.6006e-07,秩和检验:3.0199e-11
CS:最差值: 263.8958,最优值:263.8958,平均值:263.8958,标准差:8.1079e-14,秩和检验:7.7686e-12
GWO:最差值: 263.8971,最优值:263.8959,平均值:263.8962,标准差:0.00033893,秩和检验:4.3106e-08
SOS:最差值: 263.8958,最优值:263.8958,平均值:263.8958,标准差:1.4929e-07,秩和检验:3.0199e-11
TLBO:最差值: 263.8958,最优值:263.8958,平均值:263.8958,标准差:1.2652e-07,秩和检验:3.0199e-11
WOA:最差值: 264.2729,最优值:263.8959,平均值:263.938,标准差:0.076663,秩和检验:1
工字梁设计问题
SNS:最差值: 0.013074,最优值:0.013074,平均值:0.013074,标准差:7.5043e-16,秩和检验:5.219e-12
CS:最差值: 0.013075,最优值:0.013074,平均值:0.013074,标准差:1.0327e-07,秩和检验:4.0772e-11
GWO:最差值: 0.013078,最优值:0.013074,平均值:0.013075,标准差:7.5392e-07,秩和检验:2.3715e-10
SOS:最差值: 0.013074,最优值:0.013074,平均值:0.013074,标准差:8.8219e-18,秩和检验:1.2118e-12
TLBO:最差值: 0.013074,最优值:0.013074,平均值:0.013074,标准差:8.8219e-18,秩和检验:1.2118e-12
WOA:最差值: 0.016139,最优值:0.013074,平均值:0.01369,标准差:0.00060109,秩和检验:1
实验结果表明:在大多数情况下,SNS得到的最优解比现有方法得到的最优解要好。
三、参考文献
[1] S. Talatahari, H. Bayzidi, M. Saraee. Social Network Search for Global Optimization[J]. IEEE Access, 2021, 9: 92815-92863.
[2] Hadi Bayzidi, Siamak Talatahari, Meysam Saraee, et al. Social Network Search for Solving Engineering Optimization Problems[J]. Computational Intelligence and Neuroscience, 2021, 2021: 8548639.