【智能算法】火烈鸟搜索算法(FSA)原理及实现

news2024/9/19 10:50:07

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2021年,W Zhiheng等人受到火烈鸟迁徙觅食行为启发,提出了火烈鸟搜索算法(Flamingo Search Algorithm, FSA)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

FSA受到火烈鸟的觅食和迁徙行为的启发,火烈鸟通过互相鸣叫传递关于食物供应的信息并更新其位置,FSA在未知的搜索空间中通过模拟火烈鸟之间的交互,不断更新位置以探索并寻找全局最优解。FSA主要包含两个阶段:喙的扫描和脚的移动

在这里插入图片描述

2.2算法过程

交际行为允许火烈鸟通过呼叫传递关于食物丰富位置的信息,从而引导群体更新位置,即使个体不完全知晓全局最优位置。喙扫描行为则模拟火烈鸟在富含食物的区域进行更密集的搜索,通过嘴部和脚部动作调整扫描范围和频率。这两种行为结合,使得FSA能在不确定和动态的环境中有效寻找最优解,平衡全局探索与局部利用。
火烈鸟觅食的移动步长为火烈鸟喙的扫描范围加上脚的移动距离:
b i j t = ε 1 × x b j t + G 2 × ∣ G 1 × x b j t + ε 2 × x i j t ∣ (1) b_{ij}^t=\varepsilon_1\times xb_j^t+G_2\times\left|G_1\times xb_j^t+\varepsilon_2\times x_{ij}^t\right|\tag{1} bijt=ε1×xbjt+G2× G1×xbjt+ε2×xijt (1)
更新火烈鸟觅食行为位置:
x i j t + 1 = ( x i j t + ε 1 × x b j t + G 2 × ∣ G 1 × x b j t + ε 2 × x i j t ∣ ) / K (2) x_{ij}^{t+1}=(x_{ij}^{t}+\varepsilon_{1}\times xb_{j}^{t}+G_{2}\times\left|G_{1}\times xb_{j}^{t}+\varepsilon_{2}\times x_{ij}^{t}\right|)/K\tag{2} xijt+1=(xijt+ε1×xbjt+G2× G1×xbjt+ε2×xijt )/K(2)
当前觅食区域食物匮乏时,火烈鸟种群会迁移到下一个食物更丰富的区域:
x i j t + 1 = x i j t + ω × ( x b j t − x i j t ) (3) x_{ij}^{t+1}=x_{ij}^{t}+\omega\times(xb_{j}^{t}-x_{ij}^{t})\tag{3} xijt+1=xijt+ω×(xbjtxijt)(3)
其中,xbj表示第t次迭代种群中适应度最好的火烈鸟的第j维位置,ω = N(0, N)是一个N个自由度的高斯随机数,用于增加火烈鸟迁徙过程中的搜索空间,模拟特定迁徙过程中火烈鸟个体行为的随机性。

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Zhiheng W, Jianhua L. Flamingo search algorithm: a new swarm intelligence optimization algorithm[J]. IEEE Access, 2021, 9: 88564-88582.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1633605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【unity】三维数学应用(计算线和面的交点)

【unity】三维数学应用(计算线和面的交点) 实现方法有多种,下面介绍一种简单的方法。利用一个点指向面上任意点的向量,到该面法线的投影长度相同的基本原理,结合相似三角形既可以求出交点。 原理 如下图 GD组成的线段…

win11 Windows ADK制作的win pe中没有manage-ade命令或命令无法正常工作解决办法

解决办法 不使用win pe,而是使用Windows安装程序。 将iso镜像烧录到u盘,然后从它引导。 按shift f10弹出cmd,里面存在manage-bde且正常工作。 其他 win pe找不到命令manage-ade 在win pe上使用manage-ade需要一个包 a,adk制作…

计算机网络 备查

OSI 七层模型 七层模型协议各层实现的功能 简要 详细 TCP/IP协议 组成 1.传输层协议 TCP 2.网络层协议 IP 协议数据单元(PDU)和 封装 数据收发过程 数据发送过程 1. 2.终端用户生成数据 3.数据被分段,并加上TCP头 4.网络层添加IP地址信息…

练习题(2024/4/29)

在深度优先遍历中:有三个顺序,前中后序遍历 这里前中后,其实指的就是中间节点的遍历顺序,只要记住 前中后序指的就是中间节点的位置就可以了。 如图 1二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前…

Vue3+Nuxt3 从0到1搭建官网项目(SEO搜索、中英文切换、图片懒加载)

Vue2Nuxt2 从 0 到1 搭建官网~ 想开发一个官网,并且支持SEO搜索,当然离不开我们的 Nuxt ,Nuxt2 我们刚刚可以熟练运用,现在有出现了Nuxt3,那通过本篇文章让我们一起了解一下。 安装 Nuxt3 // npx nuxilatest init &…

乐观锁悲观锁

视频:什么是乐观锁?什么是悲观锁?_哔哩哔哩_bilibili

Leetcode—2739. 总行驶距离【简单】

2024每日刷题(121) Leetcode—2739. 总行驶距离 实现代码 class Solution { public:int distanceTraveled(int mainTank, int additionalTank) {int consume 0;int ans 0;while(mainTank ! 0) {mainTank--;consume;if(consume 5 && additio…

数据分析案例-全球表面温度数据可视化与统计分析

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

基于SpringBoot+Vue高校汉服租赁网站的设计与实现

项目介绍: 高校汉服租赁网站管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、交流论坛管理、公告资讯管理、汉服信息管理、汉服收藏管理、汉服评价管理、汉服租赁管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库&#xff0c…

03 后端入参校验:自定义注解实现

03 后端入参校验:自定义注解实现 一、前言二、实现1、新建Spring Boot项目2、引入依赖3、新建注解类4、新建校验器5、全局异常处理器6、编写Controller7、新建实体类8、启动并测试 一、前言 在 Java 后端开发中,为了实现入参校验,常常会使用…

外径合格与否对线缆品质有着直接影响 应用测径仪很重要

关键词:测径仪,线缆测径仪,电缆测径仪,外径测量仪,线缆,电缆 电缆尺寸不合格的危害 1、传输性能下降:尺寸不合格会导致电线电缆的参数不符合设计要求,从而影响传输的速率和稳定性,从而导致数据传输缓慢,影响用户的使用…

PC 自动化测试入门 - pywinauto 上篇:初识

文章目录 前言PC 自动化测试 是什么?常用 PC 自动化测试工具pywinauto 是什么?Windows上支持的可访问性技术列表 操作记事本自动写入问题app Application(backend"uia").start("notepad.exe") 无法正常启动组件选择器和 print_cont…

使用这 7 个绩效评估模板简化您的员工评估

绩效评估受到了不好的评价;员工发现它们压力很大,而管理者则发现它们很耗时。 但随着绩效管理成为 2024 年人力资源的首要任务,也许是时候重新思考了。绩效评估模板可以帮助减轻评估过程的麻烦。通过为管理者提供一种简单、标准化的方法来评…

CVE-2024-3116 PgAdmin8.4代码执行漏洞

前言 在有闲情的时候,看了一下最近的CVE,看到了pgAdmin4在8.4版本之前存在着一个远程代码执行漏洞,因为pgAdmin4在github是开源的,网上也没有看到分析文章,于是就把源码下载了下来,根据漏洞的描述大致的分…

Linux服务器终端软件termius以及Xshell + WinSCP组合

1. termius 官网地址:https://termius.com/ Termius是一个跨平台的SSH客户端,它提供了一个便捷的方式来远程连接和管理服务器、虚拟机和网络设备。以下是Termius的一些特点和功能: 跨平台支持:Termius可在多个操作系统上运行&…

JS事件循环、宏任务与微任务

在JavaScript中,事件循环(Event Loop)是处理异步操作的核心机制。它负责执行代码,处理事件,并在适当的时候调度回调。为了更好地理解JavaScript的执行模型,我们需要深入探讨事件循环、宏任务(Ma…

分布式与一致性协议之Raft算法(二)

Raft算法 什么是任期 我们知道,议会选举中的领导者是有任期的,当领导者任命到期后,需要重新再次选举。Raft算法中的领导者也是有任期,每个任期由单调递增的数字(任期编号)标识。比如,节点A的任期编号是1。任期编号会…

基于Docker + Locust的数据持久化性能测试系统

前几天给大家分享了如何使用Locust进行性能测试,但是在实际使用中会发现存在压测的结果无法保存的问题,比如在分布式部署情况下进行压测,每轮压测完成需要释放资源删除容器重新部署后,这段时间的压测结果就都丢失了,如…

Nacos 安全零信任实践

作者:柳遵飞 Nacos 作为配置中心经常存储一些敏感信息,但是由于误用导致安全风险,最常见的主要是以下两个问题: 1)Nacos 暴露公网可以吗?不可以,因为 Nacos 定位是注册配置中心,是…

【STM32+HAL】SDIO模式读写SD卡

一、准备工作 有关CUBEMX的初始化配置,参见我的另一篇blog:【STM32HAL】CUBEMX初始化配置 二、所用工具 1、芯片: STM32F407ZGT6 2、IDE: MDK-Keil软件 3、库文件:STM32F4xxHAL库 三、实现功能 实现用DMA读写SD卡内…