基础麻雀算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108830958
Singer 映射 是混沌映射的典型代表, 它的数学形 式很简单。其表达式女如下:
x k + 1 = u ( 7.86 x k − 23.31 x k 2 + 28.75 x k 3 − 13.302875 x k 4 ) , u ∈ ( 0.9 , 1.08 ) (5) \begin{gathered} x_{k+1}=u\left(7.86 x_k-23.31 x_k^2+28.75 x_k^3-13.302875 x_k^4\right), \\ u \in(0.9,1.08) \end{gathered}\tag{5} xk+1=u(7.86xk−23.31xk2+28.75xk3−13.302875xk4),u∈(0.9,1.08)(5)
Singer 表达式中 x x x 的范围为 [ 0 , 1 ] [0,1] [0,1] 。 Singer 映射分布在[0,1]之间,其混沌性来代替随机初始化,能够使种群在搜索空间更加均匀的分布。
引人较为新颖的翻筋斗 [ 8 ] { }^{[8]} [8] 觅食策略来改善 SSA 的跳 出局部最优能力。这种捕猎行为, 可以将猎物视为一个 支点, 每次捕猎将会更新到当前位置与对称于支点对面 位置的某一位置, 数学模型可列为式:
X i ( t + 1 ) = x i ( t ) + S ( r 1 ∗ x b e t − r 2 ∗ x i ( t ) ) (6) X_i(t+1)=x_i(t)+S\left(r_1 * x_{b e t}-r_2 * x_i(t)\right) \text { (6) } Xi(t+1)=xi(t)+S(r1∗xbet−r2∗xi(t)) (6)
式中代表空翻因子, 决定了翻到猎物对面的位置, 取 S = 2 , x best S=2, x_{\text {best }} S=2,xbest 为目前最优位置, r 1 、 r 2 r_1 、 r_2 r1、r2 为两个区间为 [ 0 , 1 ] [0,1] [0,1] 的 随机数。
为了提高算法的收敛速度, 引人惯性权重因子, 惯性 权重因子定义如下:
w = 1 − ( t / MaxIter ) 2 (7) w=1-(t / \text { MaxIter })^2 \tag{7} w=1−(t/ MaxIter )2(7)
为了提高算法的全局搜索能力, 针对最优位置, 引入 惯性权重因子并采用高斯变异 [ 9 ] { }^{[9]} [9] 进行变异, 然后采用贪 婪策略保留最优解。针对每个维度进行变异:
X best = w ∗ X best ( j ) + rand n ∗ X best ( j ) (8) X \operatorname{best}=w * X \operatorname{best}(j)+\operatorname{rand} n * X \operatorname{best}(j) \tag{8} Xbest=w∗Xbest(j)+randn∗Xbest(j)(8)
采用贪婪策略进行适应度更新:
X best = { X bestnew , if f ( X bestnew ) < f ( X best ) X best , else (9) X \text { best }=\left\{\begin{array}{l} X \text { bestnew }, \text { if } \quad f(X \text { bestnew })
ISSA 算法步骤:
(1)利用 singer 映射策略初始化种群、迭代次数、捕 食者和加人者比列。
(2)计算适应度值, 并排序。
(3) 麻雀更新捕食者位置。
(4) 麻雀更新加人者位置。
(5)麻雀更新警戒者位置。
(6)计算适应度值并更新麻雀位置。
(7) 对所有麻雀利用翻筋斗策略进行更新
(8)对最优麻雀进行逐维惯性因子的高斯变异。
(9) 是否满足停止条件, 满足则退出, 输出结果, 否 则, 重复执行 (2)-(8)
[1]楚哲宇,唐秀英,谭庆,张清君.基于逐维高斯变异的混沌麻雀优化算法[J].自动化应用,2021(08):60-63.DOI:10.19769/j.zdhy.2021.08.019.