智能优化算法:鼠群算法
摘要:鼠群优化(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.
4.Matlab代码
|