400-123-4657
鼠群算法主要通过追逐猎物、攻击猎物两个过程实现待优化问题的求解。
? 老鼠是群居动物,它们通过群居竞争行为来追逐猎物。为从数学上定义这种行为,假设最好老鼠搜索个体知道猎物的位置,其他老鼠体可以更新当前位置来获得最佳搜索位置。老鼠追逐猎物数学描述如下:
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)) ag{1}
P(t)=A?Pi?(t)+C?(Pr?(t)?Pi?(t))(1)
A = R ? t ? ( R / T ) (2) A=R-t*(R/T) ag{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)?表示当前迭代所处最佳老鼠个体位置。
为从数学上定义老鼠攻击猎物过程,提出以下数学表达式:
P
i
(
t
+
1
)
=
∣
P
r
(
t
)
?
P
∣
(3)
P_i(t+1)=|P_r(t)-P| ag{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 来获得勘探和开发之间的良好平衡,从而获得算法最优解。
[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.