Jiankai Xue & Bo Shen (2020) A novel swarm intelligence optimization approach: sparrow search algorithm, Systems Science & Control Engineering, 8:1, 22-34, DOI:10.1080/21642583.2019.1708830
文章目录
一、 介绍
提示:这里可以添加本文要记录的大概内容:
优化问题在背包问题、数据聚类、数据分类、路径规划、机器人控制等工程应用中都很常见。
群优化算法(swarm intelligence)算法作为解决全局优化问题的主要技术:在搜索过程中引入了随机性。
而确定性算法在复杂情况下容易陷入局部最优解。
ACO(蚁群优化算法)的缺点:搜索速度慢
PSO(粒子群优化算法)的缺点:容易过早收敛
SSA(麻雀搜索算法)的灵感来源:麻雀群体的觅食和反捕食行为
提示:以下是本篇文章正文内容,下面案例可供参考
二、Sparrow Search Algorithm
1、生物特征
- 麻雀分为生产者和蹭食者。
- 研究表明,个体监控着群体中其他人的行为。 同时,鸟群中的攻击者为了提高自身的捕食率,利用高摄入量来竞争同伴的食物资源。
- 个体的能量储备在麻雀选择不同的觅食策略时可能起着重要作用,能量储备低的麻雀觅食更多。
- 于种群外围的鸟类更容易受到捕食者的攻击,并不断尝试获得更好的位置。位于中心的动物可能会靠近邻伴,以尽量减少它们的危险领域。
- 所有的麻雀都表现出对一切事物好奇的天生本能,同时它们总是保持警惕。
2、数学模型与算法
- 为了将麻雀行为理想化,制定了相应的规则:1. 生产者通常拥有高水平的能量储备,并为所有觅食者提供觅食区域或方向。 它负责确定可以找到丰富食物来源的地区。 能量储备的水平取决于对个体适应值的评估。2. 一旦麻雀发现了捕食者,个体就开始鸣叫作为警告信号。 当告警值大于安全阈值时,生产者需要引导所有乞讨者到安全区域。3. 每只麻雀只要寻找到更好的食物来源,都可以成为生产者,但生产者和乞讨者在整个种群中的比例保持不变。4. 能量较高的麻雀作为生产者,几个饥饿的乞讨者更有可能飞到其他地方觅食以获得更多的能量。5. 乞讨者会跟随提供最好食物的生产者来寻找食物,同时,一些蹭食者会不断监视生产者并且竞争食物以提高自己的捕食率。6. 当意识到危险时,在群体边缘的麻雀将会迅速移动到安全的地方以获得更好的位置,而在群体中间的麻雀将会随机移动以靠近其他麻雀。
- 麻雀的位置用下面的矩阵表示:
其中n是麻雀的数量,d表示要优化的变量的维数。
然后,所有麻雀的适应度值可以用下面的向量表示: - 在SSA中,适应值较好的生产者在搜索过程中有获得食物的优先权。 此外,因为生产者负责搜寻食物和引导整个人口的流动。 因此,生产者可以比蹭食者在更广泛的地方寻找食物。
- 每次迭代期间,生产者的位置更新如下: – exp:以e为底的指数函数 – Xijt :迭代t时第 i 个麻雀的第 j 个维数的值 – itermax:迭代次数最多的常数 – α∈(0,1]:随机数 – R2(R2∈[0,1])和ST(ST∈[0.5,1.0])分别代表报警值和安全阀值 – Q:服从正态分布的随机数 – L:1×D的AMATRIX,其中每个元素为1。
R2<ST:周围没有捕食者时,生产者进入广泛搜索模式。``````R2≥ST:部分麻雀发现了捕食者,所有麻雀需要迅速飞向其他安全区域。
- 蹭食者: – 蹭食者遵守规则(4)和(5)。 一些蹭食者对生产者的监控更为频繁。 一旦发现生产者找到了好的食物,他们立即离开现在的位置去争夺食物。 如果他们赢了,他们可以立即得到生产者的食物,否则他们继续执行规则(5)。 – – 蹭食者位置更新公式: – Xp:生产者占据的最佳位置 – Xworst:当前全局最差的位置 – A:一个1xd的矩阵,里面的每个元素随机分配为1或-1 – A+=AT(AAT)-1
i > n / 2 :适应值较差的第 i 个蹭食者最有可能挨饿。
– - 警觉者 – 在模拟实验中,我们假设这些意识到危险的麻雀占总人口的10%到20%。 这些麻雀的初始位置是在种群中随机产生的。 –β:步长控制参数,是一个均值为0,方差为1的正态随机分布。 – K:∈[-1,1],随机数。 – fg:当前全局最佳的适应值。 – fw:当前全局最差的适应值。 – ε:最小的常数,避免零除法错误。 –
为了简单起见,当fi>fg表示麻雀位于组的边缘时。 Xbest代表了人口中心的位置,并且在其周围是安全的。``````Fi=Fg表明处于种群中间的麻雀意识到了危险,需要向其他麻雀靠拢。 K表示sparrow移动的方向,也是步长控制系数。
版权归原作者 元气小嘉 所有, 如有侵权,请联系我们删除。