sparrow search algorithm(麻雀搜索算法)

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移动的方向,也是步长控制系数。

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
麻雀搜索算法Sparrow Search Algorithm, SSA)是一种新近提出的全局优化算法,最早由Mohamed Abd Elaziz于2020年提出。该算法受到了麻雀的觅食行为的启发,通过模拟麻雀觅食行为,以达到优化问题求解的目的。 麻雀是一种具有群居特性的鸟类,在觅食时常常展示出集群搜索的行为。基于这一现象,SSA算法将搜索空间看作一个食物分布地图,将解决问题的最优解看作食物,而个体则表示成麻雀的个体。算法的求解过程主要包括觅食、迁徙和汇合三个阶段。 在觅食阶段,麻雀个体会随机选择自己周围的一个方向进行搜索,并根据食物激励函数计算当前位置的适应度值。适应度值越高,个体越有可能找到更优解。在迁徙阶段,个体可能会采取局部搜索策略,以跳出当前的局部最优解。最后,在汇合阶段,麻雀个体可以通过交流信息和经验来进一步提高自身的搜索能力。 与其他全局优化算法相比,SSA算法具有以下优点:1)算法简单易实现,不需要太多的参数设置;2)算法具有较快的收敛速度,能够有效地找到全局最优解;3)算法具有较强的鲁棒性,对于问题的初始解不敏感。由于以上优点,SSA算法在多个问题域的应用表现出良好的性能。目前,该算法已经在函数优化、机器学习、数据挖掘等领域得到了广泛应用,并取得了一定的成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值