智能优化算法:鼠群算法
摘要:鼠群优化(Rat swarm optimization,RSO)算法是于2020年提出的一种寻优精度高、全局搜索性能强的新型仿生群体智能算法。
1.算法原理
鼠群算法主要通过追逐猎物、攻击猎物两个过程实现待优化问题的求解。
1.1 追逐猎物
老鼠是群居动物,它们通过群居竞争行为来追逐猎物。为从数学上定义这种行为,假设最好老鼠搜索个体知道猎物的位置,其他老鼠体可以更新当前位置来获得最佳搜索位置。老鼠追逐猎物数学描述如下:
P
(
t
)
=
A
∗
P
i
(
t
)
+
C
∗
(
P
r
(
t
)
−
P
i
(
t
)
)
(1)
P(t)=A*P_i(t)+C*(P_r(t)-P_i(t)) \tag{1}
P(t)=A∗Pi(t)+C∗(Pr(t)−Pi(t))(1)
A = R − t ∗ ( R / T ) (2) A=R-t*(R/T) \tag{2} A=R−t∗(R/T)(2)
式中, P P P表示当前猎物位置; P i ( t ) P_i(t) Pi(t)表示第 i i i 只老鼠第 t t t次迭代位置; A A A 表示勘探参数, R R R表示[1,2]范围内随机数, T T T表示最大迭代次数; C C C表示开发参数, C = 2 ∗ r a n d ( ) C=2*rand() C=2∗rand() , r a n d ( ) rand() rand() 表示[0,1]范围内随机数; P r ( x ) P_r(x) Pr(x)表示当前迭代所处最佳老鼠个体位置。
1.2 攻击猎物
为从数学上定义老鼠攻击猎物过程,提出以下数学表达式:
P
i
(
t
+
1
)
=
∣
P
r
(
t
)
−
P
∣
(3)
P_i(t+1)=|P_r(t)-P|\tag{3}
Pi(t+1)=∣Pr(t)−P∣(3)
式中,
P
i
(
t
+
1
)
P_i(t+1)
Pi(t+1)表示第
i
i
i只老鼠第
t
+
1
t+1
t+1次迭代更新位置;其他参数意义同上。
勘探和开发之间良好平衡是评估优化算法优化性能优劣的重要标志。勘探是在给定的搜索空间中探索有希望获得最优解的不同区域;而开发则是围绕有希望获得最优解的不同区域搜索最优解。RSO 算法主要通过自动调整勘探参数 A 和开发参数 C 来获得勘探和开发之间的良好平衡,从而获得算法最优解。
2.算法结果
3.参考文献
[1] Gaurav D, Meenakshi G, Atulya N, Vijay K, Mohammad D. A Novel Algorithm for Global Optimization: Rat Swarm Optimizer[J]. Jounral of Ambient Intelligence and Humanized Computing, 2020(6).
[1]杨琼波,崔东文.WPD-RSO-ESN和SSA-RSO-ESN模型在径流时间序列预测中应用比较[J/OL].中国农村水利水电:1-7[2021-10-22].http://kns.cnki.net/kcms/detail/42.1419.TV.20210722.1128.014.html.