目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
1.背景
2023年,G Hu等人受到成吉思汗鲨鱼(GKS)捕食和生存行为启发,提出了成吉思汗鲨鱼优化算法(Genghis Khan Shark Optimizer, GKSO)。
2.算法原理
2.1算法思想
GKSO的灵感来自于成吉思汗鲨鱼的捕食和生存行为,通过模拟成吉思汗鲨鱼的四种不同活动,包括狩猎、移动、觅食和自我保护机制。
2.2算法过程
狩猎阶段
GKS向各个方向巡逻,直到种群找到目标所在的最优位置,一旦它们的猎物成为目标,它们会等待最佳时机对目标发动全面攻击。通过搜索空间的上界和下界来计算一个新的随机位置作为“最优狩猎位置”,位置更新:
X i j ( t + 1 ) = X i j ( t ) + l b j + r 1 ∗ ( u b j − l b j ) i t (1) X_i^j(t+1)=X_i^j(t)+\frac{lb_j+r_1*(ub_j-lb_j)}{it}\tag{1} Xij(t+1)=Xij(t)+itlbj+r1∗(ubj−lbj)(1)
其中,it代表当前迭代次数。
向最佳捕猎位置移动
为了捕获更高质量的猎物,GKS经常依靠其敏感的嗅觉不断接近最佳猎物:
X ^ i j ( t + 1 ) = s ∗ ( X b e s t j ( t ) − X i j ( t ) ) (2) \widehat{\boldsymbol{X}}_i^j(t+1)=\mathrm{s}*\big(\boldsymbol{X}_{\mathrm{best}}^j(t)-\boldsymbol{X}_i^j(t)\big)\tag{2} X ij(t+1)=s∗(Xbestj(t)−Xij(t))(2)
其中,s表示GKS向最佳猎物移动时的嗅觉强度,这取决于猎物发出的气味浓度:
s = m I r (3) \mathrm{s}=mI^r\tag{3} s=mIr(3)
其中,r是区间[0,1]随机数,它反映了搜索代理对猎物气味的吸收。对于两种极端情况:当r = 0时,这意味着猎物发出的气味对GKS来说是完全无法察觉的,搜索模式将重新进入探索阶段。当r = 1时,该气味被GKS完全吸收,因此算法很容易达到最优值(可能陷入局部最优)。
GKSO保留前两个最优个体位置,并在这两个最优位置的基础上更新其他个体的位置,使它们尽可能接近最优位置(精英领导:
X i j ( t + 1 ) = X ^ i j ( t + 1 ) + X i − 1 j ( t ) 2 (4) X_{i}^{j}(t+1)=\frac{\hat{X}_{i}^{j}(t+1)+X_{i-1}^{j}(t)}{2}\tag{4} Xij(t+1)=2X^ij(t+1)+Xi−1j(t)(4)
抛物线觅食
GKS以猎物为参照点,迅速游向猎物整个过程是抛物线状:
X i j ( t + 1 ) = X b e s t j ( t ) + r 2 ∗ ( X b e s t j ( t ) − X i j ( t ) ) + λ ∗ p 2 ∗ ( X b e s t j ( t ) − X i j ( t ) ) (5) X_{\mathrm{i}}^{j}(t+1)=X_{\mathrm{best}}^{j}(t)+r_{2}*(X_{\mathrm{best}}^{j}(t)-X_{\mathrm{i}}^{j}(t))+\lambda*p^{2}*(X_{\mathrm{best}}^{j}(t)-X_{\mathrm{i}}^{j}(t))\tag{5} Xij(t+1)=Xbestj(t)+r2∗(Xbestj(t)−Xij(t))+λ∗p2∗(Xbestj(t)−Xij(t))(5)
其中,r2是[0,1]随机数。λ是1或- 1的随机数,p是控制GKS活动期间移动步长的参数,p是一个带扰动的非线性收敛因子。当p值较大时,GKSO主要侧重于全局探索;随着p值的减小,局部开发将逐渐占主导地位:
p = 2 ∗ { 1 − ( t T ) 1 4 + ∣ ω ( t + 1 ) ∣ ∗ [ ( t T ) 1 4 − ( t T ) 3 ] } (6) p=2*\bigg\{1-\bigg(\frac{t}{T}\bigg)^{\frac{1}{4}}+|\omega(t+1)|*\bigg[\bigg(\frac{t}{T}\bigg)^{\frac{1}{4}}-\bigg(\frac{t}{T}\bigg)^3\bigg] \bigg\}\tag{6} p=2∗{1−(Tt)41+∣ω(t+1)∣∗[(Tt)41−(Tt)3]}(6)
|ω(t+1)|为t+1时刻的权重系数:
∣ ω ( t + 1 ) ∣ = 1 − 2 ω 4 ( t ) (7) |\omega(t+1)|=1-2\omega^4(t)\tag{7} ∣ω(t+1)∣=1−2ω4(t)(7)
自我保护机制
在觅食过程中,GKS经常会遇到威胁自身安全或与猎物竞争的捕食者。为了摆脱这些天敌,GKS也具有与墨鱼类似的变色行为机制,当GKS受到惊吓时,尾巴和身体颜色变浅,从而吓退捕食者,迅速逃跑:
{ X i j ( t + 1 ) = X i j ( t ) + k 1 ( a 1 X b e s t j ( t ) − a 2 X k j ( t ) ) + k 2 ρ ( a 3 ( X 2 i j ( t ) − X 1 i j ( t ) ) ) if a 1 < 0.5 + a 2 ( X a 1 ( t ) − X a 2 ( t ) ) / 2 , X i j ( t + 1 ) = X b e s t j ( t ) + k 1 ( a 1 X b e s t j ( t ) − a 2 X k j ( t ) ) + k 2 ρ ( a 3 ( X 2 i j ( t ) − X 1 i j ( t ) ) ) otherwise + a 2 ( X a 1 ( t ) − X a 2 ( t ) ) / 2 , (8) \left.\left\{\begin{array}{l}\boldsymbol{X}_i^j(t+1)=\boldsymbol{X}_i^j(t)+k_1(a_1\boldsymbol{X}_{best}^j(t)-a_2\boldsymbol{X}_k^j(t))+k_2\rho(a_3(\boldsymbol{X}2_i^j(t)-\boldsymbol{X}1_i^j(t)))\text{if}a_1<0.5\\+a_2(\boldsymbol{X}_{a1}(t)-\boldsymbol{X}_{a2}(t))/2,\\\boldsymbol{X}_i^j(t+1)=\boldsymbol{X}_{best}^j(t)+k_1(a_1\boldsymbol{X}_{best}^j(t)-a_2\boldsymbol{X}_k^j(t))+k_2\rho(a_3(\boldsymbol{X}2_i^j(t)-\boldsymbol{X}1_i^j(t)))\text{otherwise}\\+a_2(\boldsymbol{X}_{a1}(t)-\boldsymbol{X}_{a2}(t))/2,\end{array}\right.\right.\tag{8} ⎩ ⎨ ⎧Xij(t+1)=Xij(t)+k1(a1Xbestj(t)−a2Xkj(t))+k2ρ(a3(X2ij(t)−X1ij(t)))ifa1<0.5+a2(Xa1(t)−Xa2(t))/2,Xij(t+1)=Xbestj(t)+k1(a1Xbestj(t)−a2Xkj(t))+k2ρ(a3(X2ij(t)−X1ij(t)))otherwise+a2(Xa1(t)−Xa2(t))/2,(8)
其中k1是介于[- 1,1]之间的均匀分布随机数,k2是均值为0,标准差为1的正态分布随机数。A1, a2, a3为三个随机数:
{ a 1 = l 1 ∗ 2 ∗ r a n d + ( 1 − l 1 ) a 2 = l 1 ∗ r a n d + ( 1 − l 1 ) a 3 = l 1 ∗ r a n d + ( 1 − l 1 ) (9) \left\{\begin{array}{c}a_1={l_1}*2*rand+(1-l_1)\\a_2={l_1}*rand+(1-l_1)\\a_3={l_1}*rand+(1-l_1)\end{array}\right.\tag{9} ⎩ ⎨ ⎧a1=l1∗2∗rand+(1−l1)a2=l1∗rand+(1−l1)a3=l1∗rand+(1−l1)(9)
β、α和ρ参数表述为:
ρ = α ∗ ( 2 ∗ r a n d − 1 ) , α = ∣ β ∗ s i n ( 3 π 2 + s i n ( 3 π 2 β ) ) ∣ , β = β m i n + ( β m a x − β m i n ) ∗ ( 1 − ( i t T ) 3 ) 2 . (10) \begin{aligned} &\rho=\alpha^{*}(2^{*}rand-1), \\ &\alpha=\left|\beta^{*}\mathrm{sin}({\frac{3\pi}{2}}+\mathrm{sin}({\frac{3\pi}{2}}\beta))\right|, \\ &\beta=\beta_{\mathrm{min}}+(\beta_{\mathrm{max}}-\beta_{\mathrm{min}})^{*}(1-(\frac{it}{T})^{3})^{2}. \end{aligned}\tag{10} ρ=α∗(2∗rand−1),α= β∗sin(23π+sin(23πβ)) ,β=βmin+(βmax−βmin)∗(1−(Tit)3)2.(10)
取βmin为0.2,βmax为1.2。在两个t时刻随机生成的解X1(t)和X2j(t):
X 1 i j ( t ) = l b j + r a n d ∗ ( u b j − l b j ) X 2 i j ( t ) = l b j + r a n d ∗ ( u b j − l b j ) (11) X1_{i}^{j}(t)=lb_{j}+rand*\big(ub_{j}-lb_{j}\big)\\X2_{i}^{j}(t)=lb_{j}+rand*\big(ub_{j}-lb_{j}\big)\tag{11} X1ij(t)=lbj+rand∗(ubj−lbj)X2ij(t)=lbj+rand∗(ubj−lbj)(11)
计算解Xk:
X k j ( t ) = l 2 ∗ ( X p j ( t ) − X r j ( t ) ) + X r j ( t ) (12) \boldsymbol{X}_k^j(t)=l_2*\Big(\boldsymbol{X}_p^j(t)-\boldsymbol{X}_r^j(t)\Big)+\boldsymbol{X}_r^j(t)\tag{12} Xkj(t)=l2∗(Xpj(t)−Xrj(t))+Xrj(t)(12)
流程图
伪代码
3.结果展示
4.参考文献
[1] Hu G, Guo Y, Wei G, et al. Genghis Khan shark optimizer: a novel nature-inspired algorithm for engineering optimization[J]. Advanced Engineering Informatics, 2023, 58: 102210.