【智能算法】花朵授粉算法(FPA)原理及实现

在这里插入图片描述

目录

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


1.背景

2012年,Yang等人受到自然界花朵授粉过程启发,提出了鸭群算法(Flower Pollination Algorithm, FPA)。

2.算法原理

2.1算法思想

FPA基于自然界花朵授粉过程,主要分为两个阶段:全局授粉和局部授粉

2.2算法过程

全局授粉

在全局授粉中,花粉由昆虫等传粉媒介携带。由于昆虫通常可以飞行和移动的范围更大,花粉可以传播很远的距离,这保证了最适者的授粉和繁殖:
x i t + 1 = x i t + L ( x i t − g ∗ ) (1) \mathbf{x}_i^{t+1}=\mathbf{x}_i^t+L(\mathbf{x}_i^t-\mathbf{g}_*)\tag{1} xit+1=xit+L(xitg)(1)
其中,g*为最优授粉者。参数L是授粉的强度,本质上是一个步长。由于昆虫可能会以不同的距离步长进行长距离移动,这里采用莱维飞行模拟:
L ∼ λ Γ ( λ ) sin ⁡ ( π λ / 2 ) π 1 s 1 + λ , ( s ≫ s 0 > 0 ) (2) \begin{aligned}L\sim\frac{\lambda\Gamma(\lambda)\sin(\pi\lambda/2)}{\pi}\frac{1}{s^{1+\lambda}},\quad(s\gg s_{0}>0)\end{aligned}\tag{2} LπλΓ(λ)sin(πλ/2)s1+λ1,(ss0>0)(2)

局部授粉

局部授粉可以表述为:
x i t + 1 = x i t + ϵ ( x j t − x k t ) (3) \mathbf{x}_i^{t+1}=\mathbf{x}_i^t+\epsilon(\mathbf{x}_j^t-\mathbf{x}_k^t)\tag{3} xit+1=xit+ϵ(xjtxkt)(3)
这里,xj,xk为xi领域中其他授粉者,参数为[0,1]随机数,实际进行局部随机游走。

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试FPA性能 一键run.m

  • 【智能算法】省时方便,智能算法统计指标——一键运行~

CEC2005-F9
在这里插入图片描述

箱型图

在这里插入图片描述

探索与开发

在这里插入图片描述

种群空间搜索图

在这里插入图片描述

4.参考文献

[1] Yang X S. Flower pollination algorithm for global optimization[C]//International conference on unconventional computing and natural computation. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012: 240-249.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git 指令

一.常见命令 1.1 初始化仓库 #初始化仓库 git init #查看隐藏文件 ll -a #查看隐藏文件.git结构 tree .git/1.2 创建/删除用户信息 #创建用户信息 git config user.email "151859163.com" git config user.name "zsl" #查看 git config -l #删除用户信息…

水电预付费远程管理

1.概述:水电预付费远程管理的定义与重要性 水电预付费远程管理系统是一种先进的能源管理模式,它允许用户在使用水电资源前预先支付费用,并通过远程技术进行实时监控和管理。这种系统不仅提高了效率,减少了欠费风险,也…

【缓存常见问题】

在使用缓存时特别是在高并发场景下会遇到很多问题,常用的问题有缓存穿透、缓存击穿、缓存雪崩以及缓存一致性问题。 1、缓存穿透 首先,什么是缓存穿透呢? 缓存穿透是指请求一个不存在的数据,缓存层和数据库层都没有这个数据&…

VTK 动画:利用 Qt 的时间控制

VTK 动画:利用 Qt 的时间控制 VTK 动画:利用 Qt 的时间控制VS2022 QT6.2.3 VTK9.3.0 环境配置Qt 定时器类 QTimer实现运行结果参考 VTK 动画:利用 Qt 的时间控制 第一篇文章 《VTK 动画:框架、流程与实现》 讲到了 VTK 的动画框…

小行星碰撞

题目链接 小行星碰撞 题目描述 注意点 两个小行星相互碰撞,较小的小行星会爆炸如果两颗小行星大小相同,则两颗小行星都会爆炸每一颗小行星以相同的速度移动正负表示小行星的移动方向(正表示向右移动,负表示向左移动&#xff09…

超净实验室用耐强酸碱耐高温PFA酸缸进口透明聚四氟塑料方槽

PFA清洗槽是四氟清洗桶后的升级款,主要用于半导体光伏光电等行业,一体成型,无需担心漏液,表面光滑无毛刺。 别名PFA浸泡桶、PFA酸缸、PFA方槽等,可定制尺寸,可配套盖子,盖子有PFA/PTFE两种材质…

如何寻找可靠的第三方软件检测机构

随着科技的飞速发展和数字化进程的加速,软件质量成为了企业竞争的关键。为了确保软件的质量和性能,许多企业选择寻找第三方的软件检测机构来进行软件的质量控制和评估。那么,如何找到一家可靠的第三方软件检测机构呢? 1.明确检测…

前段css中border-radius的简单使用

前段css中border-radius的使用 一、前言二、border-radius语法三、border-radius的模型例子1.源码12.源码1效果截图 四、border-radius的动画效果(动态交互)1.源码22.源码2显示效果 五、结语六、定位日期 一、前言 在CSS中,我们常用border-r…

AUS Global 与皇家贝蒂斯俱乐部在对战皇家马德里的比赛日举办现场体验活动

AUS Global 最近前往西班牙庆祝与皇家贝蒂斯的赞助合作,并获得了难忘的比赛日体验,包括在贵宾室中观看皇家贝蒂斯对阵皇家马德里的精彩比赛。 活动开始时,AUS Global 受邀来到皇家贝蒂斯主场贝尼托-比利亚马林体育场的独家 Showbox 贵宾室。…

微信小程序的支付功能,纯前端步骤,超级详细

1、首先在微信开放平台,申请移动应用并开通支付功能,申请应用后可以获取 AppID 和 AppSecret 值 2、在前端项目中的配置参数中打开支付功能 步骤:项目的根目录下有个manifest.json文件,打开并在左侧目录找到APP SDK配置&#xf…

AI实景无人直播自动卖卷系统,开创了实体商家直播自运营先河。

AI实景无人直播自动卖卷系统,开创了实体商家直播自运营先河。 从当下这一刻起,拒绝内耗,做行动的巨人。因为,命运不会偏袒任何人,却会眷顾一直朝着光亮前进的人。 《人民日报》 随着新媒体的快速发展,很…

【力扣】55. 跳跃游戏 - 力扣(LeetCode)

Problem: 55. 跳跃游戏 记录自己解答的思路和代码 文章目录 问题思路复杂度Code 问题 思路 这个题的主要思路就是先找到0对应的位置,然后标记起来对应left,如果只有一个零,只需要left后面的数中有>1的数就能跳过去,如果是00&a…

Jmeter 接口造10w条用户数据

1、将mysql-connector-java-5.1.22-bin.jar放到D:\apache-jmeter-5.5\lib\ext目录下 2、在测试计划中,添加mysql-connector-java-5.1.22-bin.jar包路径 3、添加-线程组-添加-配置元件-jdbc connection configuration 4、配置jdbc连接参数 设置变量名称:…

【火猫TV】LOL:沙特电竞世界杯奖金公布 奖金丰厚Faker成为最大赢家 !

北京时间4月18日,今年的电竞赛事可以说是缤纷多彩,在LOL项目上除了大家熟悉的各大赛区的联赛,拳头举办的MSI和世界赛,在今年还有一项新的赛事,那就是在MSI结束之后沙特将会举办一场电竞世界杯,此消息出来的…

SpringBoot多数据源(二)

SpringBoot多数据源AbstractRoutingDataSource(二) 1.多数据源配置2.多数据源调用流程3.实现 1.多数据源配置 spring-jdbc模块提供AbstractRoutingDataSource,其内部可以包含了多个DataSource, 然后在运行时来动态的访问数据库 2.多数据源…

[C++][算法基础]筛选质数(线性筛)

给定一个正整数 n,请你求出 1∼n 中质数的个数。 输入格式 共一行,包含整数 n。 输出格式 共一行,包含一个整数,表示 1∼n 中质数的个数。 数据范围 1≤n≤ 输入样例: 8输出样例: 4 代码&#xf…

vite(vue3)配置内网ip访问的方法步骤

如果没有进行配置,运行项目之后,看到的访问地址是本地访问地址,其他人访问不了。 如下: 一、配置 “ vite.config.ts ” 文件 server: {host: 0.0.0.0 }, 如图所示: 添加 server 配置后保存 “ vite.config.ts ” 文…

2024-04-18 问AI: 介绍一下卷积网络ResNet

文心一言 ResNet,即残差神经网络,是一种通过残差块来构建的神经网络。其核心思想是通过引入残差模块,学习残差而非直接映射,从而解决了深度神经网络中的梯度消失问题,实现了更深层次的网络结构。这种网络结构可以轻松…

js: UrlDecode解码、UUID和GUID、阿拉伯数字转为中文数字

UrlDecode解码: UrlDecode 是一个 JavaScript 函数,用于将经过 URL 编码的字符串转换为普通字符串。 URL 编码是将特殊字符转换为它们的百分比编码表示形式的过程。这些特殊字符包括空格、斜线、井号(#)等。UrlDecode 函数将这些…

终于总结出一套小红书万能涨粉公式

新手做小红书,最关心的除了变现、提升流量、应该就是涨粉了。 但关于小红书涨粉,小伙伴表示难如登天,臣妾做不到啊。 别担心,小易拆解近100个博主账号后,终于总结出小红书涨粉公式,垂直不违规干货人设活跃…