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
文章目录
- 一、 介绍
- 二、Sparrow Search Algorithm
- 1、生物特征
- 2、数学模型与算法
一、 介绍
提示:这里可以添加本文要记录的大概内容:
优化问题在背包问题、数据聚类、数据分类、路径规划、机器人控制等工程应用中都很常见。
群优化算法(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移动的方向,也是步长控制系数。
sparrow search algorithm(麻雀搜索算法)相关推荐
- 麻雀搜索算法SSA(Sparrow Search algorithm)
文章目录 前言 数学模型 前言 麻雀搜索算法是2020提出的一种新的优化算法,出自东华大学xue和shen的论文:A novel swarm intelligence optimization app ...
- 麻雀搜索算法(Sparrow Search Algorithm,SSA)
文章目录 1 算法思想 2 算法步骤 3 求解函数最值(Python实现) 4 算法进阶 直接改进SSA 融合别的智能优化算法来改进SSA SMA及其改进的应用 原论文: [1]薛建凯. 一种新型的群 ...
- 多目标优化算法:基于非支配排序的麻雀搜索算法(Non-Dominated Sorting Sparrow Search Algorithm,NSSSA)
一.麻雀搜索算法 麻雀搜索算法(SSA)的原理参考博客:麻雀搜索算法SSA 二.非支配排序麻雀搜索算法NSSSA 将非支配排序麻雀搜索算法(Non-Dominated Sorting Sparrow ...
- CEC2019:麻雀搜索算法(提供Matlab代码)
一.麻雀搜索算法 麻雀搜索算法(sparrow search algorithm,SSA)由Jiankai Xue等人于2020年提出,该算法是根据麻雀觅食并逃避捕食者的行为而提出的群智能优化算法.S ...
- 自适应螺旋飞行麻雀搜索算法
文章目录 一.理论基础 1.麻雀搜索算法 2.自适应螺旋飞行麻雀搜索算法 (1)基于随机变量的Tent混沌映射 (2)自适应权重 (3)莱维飞行机制 (4)可变螺旋搜索策略 (5)改进麻雀搜索算法的步 ...
- Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, ...
- 基于迭代局部搜索的改进麻雀搜索算法
文章目录 一.理论基础 1.麻雀搜索算法 2.基于迭代局部搜索的麻雀搜索算法(ISSA) 2.1 可变螺旋因子 2.2 改进的迭代局部搜索 2.2.1 第一种改进(SSA方法) 2.2.2 第二种改进 ...
- MATLAB麻雀搜索算法求解物流配送中心选址问题实例代码
实例视频: MATLAB麻雀搜索算法求解物流配送中心选址问题优化实例 1.问题描述 根据目前已知所需客户点位置.备选中心位置和客户需求货物的前提下,指定选址位置,合理设计配送路线,使运输成本趋于最小化 ...
- 单目标应用:基于麻雀搜索算法优化灰色神经网络(grey neural network)的数据预测(提供MATLAB代码)
一.麻雀搜索算法 麻雀搜索算法(sparrow search algorithm,SSA)由Jiankai Xue等人于2020年提出,该算法是根据麻雀觅食并逃避捕食者的行为而提出的群智能优化算法.S ...
最新文章
- 两大AI技术集于一身,有道词典笔3从0到1的飞跃
- 限时删!一套目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)
- 洛谷 P2415 集合求和【数学公式/模拟】
- 面向对象与面向过程在软件开发中的应用
- Dapr + .NET 实战(十三)跨语言开发
- django-新的django项目
- js打印线程id_浅谈python中的多线程和多进程(二)
- 设计模式之——单例模式(Singleton)的常见应用场景(转):
- 高精度地图的学习笔记
- 八种常用排序算法参考
- iweboffice 保存成html,金格iweboffice2015使用
- 1156 Sexy Primes – PAT甲级真题
- js控制页面只刷新一次
- gitlab-runner配置与注册
- win10怎么更新显卡驱动_荒野大镖客2优化:NVIDIA更新GeForce 441.41显卡驱动
- MATLAB机器人可视化
- [转载]受 Windows XP SP2 影响的软件列表
- 【Android】代码中动态设置 drawable 背景
- SpringBoot集成Liquibase
- php大华视频监控接入,大华摄像头实时视频接入Demo
热门文章
- 使用dd命令制作U盘启动盘
- python selenium 等待元素出现_Selenium 3种等待方式
- 新浪微博站内应用开发(网站类)
- win7 兼容 因特尔十代_10代cpu能不能装win7?10代cpu装win7全面分析(支持十代cpu)
- java使用idea编译或者打包时出现There are test failures
- window的dos命令学习笔记 一
- WebLogic CVE-2019-2647、CVE-2019-2648、CVE-2019-2649
- javascript正则表达式验证手机号
- 仍在创业的路上,些许感悟(一)
- PointTransformer编译pointops_cuda报错fatal error: THC/THC.h: No such file or directory