改进沙猫群优化算法(ISCSO)
文章目录
- 改进沙猫群优化算法(ISCSO)
- 1.沙猫群优化算法
- 2. 改进沙猫群优化算法
- 2.1 混沌映射初始化
- 2.2 引入互利共生策略
- 2.3 引入莱维飞行策略
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要:对沙猫群优化算法进行改进。在改进的沙猫群优化算法中,利用混沌映射的均匀性初始化种群以提高种群多样性;通过融合互利共生和莱维飞行策略减少局部最优解的消极影响,提高算法的收敛速度和精度。
1.沙猫群优化算法
基础沙猫群优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/126624550
2. 改进沙猫群优化算法
2.1 混沌映射初始化
混沌映射
[
12
]
{ }^{[12]}
[12] 具有良好的随机性、规律性和遍 历性, 不但能使得种群具有良好的多样性, 也能使 得算法在全局搜索能力、收敛速度、收敛精度上都 有所提高。改进公式如下:
C
k
+
1
=
{
C
k
/
a
,
0
⩽
C
k
⩽
a
(
1
−
C
k
)
/
(
1
−
a
)
,
a
⩽
C
k
⩽
1
(
7
)
P
o
s
→
i
d
=
l
b
+
(
u
b
−
l
b
)
×
C
i
d
(
8
)
\begin{aligned} C_{k+1}= & \begin{cases}C_k / a, & 0 \leqslant C_k \leqslant a \\ \left(1-C_k\right) /(1-a), & a \leqslant C_k \leqslant 1\end{cases} (7)\\ & \overrightarrow{\mathrm{Pos}}_{i d}=l b+(u b-l b) \times C_{i d}\ (8) \end{aligned}
Ck+1={Ck/a,(1−Ck)/(1−a),0⩽Ck⩽aa⩽Ck⩽1(7)Posid=lb+(ub−lb)×Cid (8)
的位置;
u
b
u b
ub 和
l
b
l b
lb 表示种群的搜索范围;
C
i
d
C_{i d}
Cid 表示由 式(7)产生的混沌序列。
2.2 引入互利共生策略
沙猫群优化算法在攻击猎物时,会通过轮盘赌法随机选择角度来靠近猎物进行攻击。但这样的攻击方式随机性较大,也易于陷入局部最优,互利共生策略 通过加强个体与最优个体的信息交流,可以消除沙猫攻击猎物时的消极影响,提高沙猫的寻优精度和收敛速度。改进公式如下:
P
o
s
→
n
e
w
=
P
o
s
→
b
c
+
(
P
o
s
→
b
c
−
b
f
×
R
M
V
)
(9)
\overrightarrow{\mathrm{Pos}}_{new}=\overrightarrow{\mathrm{Pos}}_{bc}+(\overrightarrow{\mathrm{Pos}}_{bc}-bf\times R_{MV})\tag{9}
Posnew=Posbc+(Posbc−bf×RMV)(9)
R M V = ( P o s → b c + P o s → r n d ) / 2 (10) R_{MV}=(\overrightarrow{\mathrm{Pos}}_{bc}+\overrightarrow{\mathrm{Pos}}_{rnd})/2 \tag{10} RMV=(Posbc+Posrnd)/2(10)
P
o
s
→
n
e
w
\overrightarrow{\mathrm{Pos}}_{new}
Posnew为更新后的位置;
P
o
s
→
r
n
d
\overrightarrow{\mathrm{Pos}}_{\mathrm{rnd}}
Posrnd 为随机个体的位置;
P
o
s
→
b
c
\overrightarrow{\mathrm{Pos}}_{\mathrm{bc}}
Posbc 为最优个体的位置;
b
f
b f
bf 表示利益因子, 随机选择 1 或 2 , 表示可能部分受益或全部受益;
R
M
V
R_{M V}
RMV 表示最优个体与随机个体的信息交流。
2.3 引入莱维飞行策略
沙猫群优化算法在搜索猎物和攻击猎物时, 都是通过随机角度进行的, 导致算法会遗漏部分 较优的解, 降低收玫精度。为了增强搜索的周密 性, 消除局部最优解的消极影响, 本算法引入莱维 飞行策略
[
13
]
{ }^{[13]}
[13], 既加强了算法的局部搜索能力,又 能保证算法在全局搜索时具有良好的周密性。改 进公式如下:
P
o
s
→
n
e
w
=
P
o
s
→
b
c
+
∣
P
o
s
→
b
c
−
P
o
s
→
L
e
v
y
∣
l
c
o
s
(
2
π
l
)
(11)
\overrightarrow{\mathrm{Pos}}_{new} = \overrightarrow{\mathrm{Pos}}_{bc}+|\overrightarrow{\mathrm{Pos}}_{bc}-\overrightarrow{\mathrm{Pos}}_{Levy}|lcos(2\pi l)\tag{11}
Posnew=Posbc+∣Posbc−PosLevy∣lcos(2πl)(11)
P o s → L e v y = μ ∣ α ∣ 1 / β ( P o s → r n d − P o s → b c ) (12) \overrightarrow{\mathrm{Pos}}_{Levy}=\frac{\mu}{|\alpha|^{1/\beta}}(\overrightarrow{\mathrm{Pos}}_{rnd}-\overrightarrow{\mathrm{Pos}}_{bc})\tag{12} PosLevy=∣α∣1/βμ(Posrnd−Posbc)(12)
σ
μ
=
{
Γ
(
1
+
β
)
sin
(
π
β
2
)
Γ
[
(
1
+
β
)
2
]
β
⋅
2
β
−
1
2
}
(13)
\begin{aligned} & \sigma_\mu=\left\{\frac{\Gamma(1+\beta) \sin \left(\frac{\pi \beta}{2}\right)}{\Gamma\left[\frac{(1+\beta)}{2}\right] \beta \cdot 2^{\frac{\beta-1}{2}}}\right\} \\ & \end{aligned}\tag{13}
σμ=⎩
⎨
⎧Γ[2(1+β)]β⋅22β−1Γ(1+β)sin(2πβ)⎭
⎬
⎫(13)
P
o
s
→
n
e
w
\overrightarrow{\mathrm{Pos}}_{new}
Posnew为更新后的位置;
P
o
s
→
L
e
v
y
\overrightarrow{P o s}_{\mathrm{Levy}}
PosLevy 表示莱维飞行位置;
l
l
l 是
(
0
,
1
)
(0,1)
(0,1) 的随机数;
P
o
s
→
r
n
d
\overrightarrow{\mathrm{Pos}}_{\mathrm{rnd}}
Posrnd 表示随机个体的位置;
μ
\mu
μ 是服从
μ
∼
N
(
0
,
σ
μ
2
)
\mu \sim N\left(0, \sigma_\mu^2\right)
μ∼N(0,σμ2) 的随机数, 其中
Γ
\Gamma
Γ 为伽马函数,
β
\beta
β 为
(
0
,
2
)
(0,2)
(0,2) 的随机数。
3.实验结果
4.参考文献
[1]贾鹤鸣,李永超,游进华等.改进沙猫群优化算法的机器人路径规划[J].福建工程学院学报,2023,21(01):72-77.