【智能算法】花朵授粉算法(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.

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

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

相关文章

三步教你怎么把icloud照片恢复至iphone!

“我手机里面照片被优化后,然后不小心把所有被优化的模糊照片从手机中删除了,但是iCloud还有,我应该怎样把iCloud的照片重新放回手机?谢谢。” 在使用iPhone时,iCloud照片库是一个非常方便的功能,它允许你在…

深入了解MySQL中的SQL函数

深入了解MySQL中的SQL函数可以极大地提升数据处理的能力和灵活性。这些函数涵盖了从数学计算、字符串操作、日期时间处理到复杂的聚合和窗口函数。在这篇文章中,我们将详细讨论MySQL中的各种SQL函数,包括它们的用途、使用场景和一些高级技巧。 数学函数…

【QT+QGIS跨平台编译】177:【QGIS_App+Qt跨平台编译】之一(一套代码、一套框架,跨平台编译)

文章目录 一、QGIS_App介绍二、QGIS下载三、文件分析四、pro文件一、QGIS_App介绍 QGIS_App是一个基于QGIS的完整的GIS系统库,它不仅可以作为一个独立的GIS应用程序使用,还可以将其各个组件作为二次开发的一部分。QGIS_App具有一个完整的GIS主界面和多个插件(plugins),这些…

spring事件监听

spring事件监听 ApplicationListener监听容器中发布的事件 实现ApplicationListener来完成事件监听 public interface ApplicationListener<E extends ApplicationEvent> extends EventListener { /** * Handle an application event. * param event the event t…

pnpm - Failed to resolve loader: cache-loader. You may need to install it.

起因 工作原因需要研究 vue-grid-layout 的源码&#xff0c;于是下载到本地。因为我习惯使用 pnpm&#xff0c;所以直接用 pnpm i 安装依赖&#xff0c;npm run serve 启动失败。折腾了一番没成功。 看到源码里有 yarn.lock&#xff0c;于是重新用 yarn install 安装依赖&…

如何用JavaScript/来更新其他meta标签

下面是一个简单的例子&#xff0c;展示了如何使用JavaScript来更新页面中的其他meta标签。这个例子中&#xff0c;我们将更新description和author两个meta标签。 首先&#xff0c;假设我们有以下HTML代码&#xff1a; <!DOCTYPE html> <html lang"en">…

使用Unity 接入 Stable-Diffusion-WebUI的 文生图api 并生成图像

使用Unity 接入 Stable-Diffusion-WebUI 文生图生成图像 文章目录 使用Unity 接入 Stable-Diffusion-WebUI 文生图生成图像一、前言二、具体步骤1、启动SD的api设置2、unity 创建生图脚本3、Unity 生图交互配置步骤 1: 创建sdControl步骤2&#xff1a;生成后图片画布步骤3&…

Groovy程序设计-【第一部分Groovy起步】-02-面向Java开发者的Groovy

前言&#xff1a; 知识点记录来源于【Groovy程序设计】一书中&#xff0c;本文仅作知识点记录供日后使用查询&#xff0c;不做教程使用。 groovy支持java语法&#xff0c;并且保留了java的语义&#xff0c;所以我们可以随心所欲的混用两种语言。 1.从Java到Groovy 先看一个…

从「宏大叙事」到「生活叙事」,小红书品牌种草的的“正确姿势”

不同于抖音和微博&#xff0c;在小红书上&#xff0c;品牌营销的基调应该是怎样的&#xff1f;品牌怎样与小红书用户对话&#xff1f;什么样的内容&#xff0c;才能走进小红书用户的心中&#xff1f;本期&#xff0c;小编将带大家洞察品牌在小红书营销的“正确姿势”。从「小美…

Table表格(关于个人介绍与图片)

展开行&#xff1a; <el-table :data"gainData" :border"gainParentBorder" style"width: 100%"><el-table-column type"expand"><template #default"props"><div m"4"><h3>工作经…

百度文心一言:官方开放API开发基础

目录 一、模型介绍 1.1主要预置模型介绍 1.2 计费单价 二、前置条件 2.1 创建应用获取 Access Key 与 Secret Key 2.2 设置Access Key 与 Secret Key 三、基于千帆SDK开发 3.1 Maven引入SDK 3.2 代码实现 3.3 运行代码 一、模型介绍 文心一言&#xff08;英文名&…

Java实现生成中间带图标的二维码

Java实现生成中间带图标的二维码 生成Base64格式的二维码&#xff0c;返回html渲染 package your.package;import com.google.zxing.*; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcod…

DSPE-PEG-TPP 磷脂聚乙二醇-磷酸三苯酯 靶向线粒体纳米颗粒药物递送系统

DSPE-PEG-TPP 磷脂聚乙二醇-磷酸三苯酯 靶向线粒体纳米颗粒药物递送系统 【中文名称】磷脂-聚乙二醇-磷酸三苯酯 【英文名称】DSPE-PEG-TPP 【结 构】 【品 牌】碳水科技&#xff08;Tanshtech&#xff09; 【纯 度】95%以上 【保 存】-20℃ 【规 格】50mg,…

数字工厂系统的开发

数字工厂系统&#xff08;Digital Factory System&#xff0c;DFS&#xff09;是基于数字孪生技术&#xff08;Digital Twin Technology&#xff09;和信息物理融合系统&#xff08;Cyber-Physical System&#xff0c;CPS&#xff09;构建的&#xff0c;用于仿真、分析和优化制…

密码学 | 承诺:基本概念

目录 正文 1 承诺的交互 2 承诺的属性 3 硬币抛掷问题 3.1 朴素版方案 3.2 承诺版方案 &#x1f951;源自&#xff1a;https://en.wikipedia.org/wiki/Commitment_scheme &#x1f951;写在前面&#xff1a;英文的承诺是 commitment scheme&#xff0c;否则很难进行…

js 事件模型 事件捕获、事件冒泡

什么是事件捕获、事件冒泡 事件冒泡&#xff08;event bubbling&#xff09;和事件捕获&#xff08;event capturing&#xff09;是指在 DOM 树中处理事件的两种不同方式。 事件捕获&#xff1a; 事件从DOM树的根节点开始&#xff0c;然后逐级向下捕获到最具体的元素&#xf…

网络爬虫入门

爬虫&#xff08;也被称为网络爬虫或网络蜘蛛&#xff09;是一种自动化程序&#xff0c;它可以在互联网上自动抓取数据。爬虫的基本工作原理通常包括以下几个步骤&#xff1a;发送请求&#xff1a;爬虫向目标网站发送HTTP请求&#xff0c;请求网页内容。接收响应&#xff1a;爬…

sklearn【F1 Scoree】F1分数原理及实战代码!

目录 一、F1 Scoree 介绍二、案例学习三、总结 一、F1 Scoree 介绍 在分类任务中&#xff0c;评估模型的性能是至关重要的。除了准确率&#xff08;Accuracy&#xff09;之外&#xff0c;我们还需要考虑其他指标&#xff0c;如精确度&#xff08;Precision&#xff09;和查全率…

根据 Figma 设计稿自动生成 Python GUI | 开源日报 No.221

ParthJadhav/Tkinter-Designer Stars: 8.0k License: BSD-3-Clause Tkinter-Designer 是一个用于快速创建 Python GUI 的工具&#xff0c;通过使用 Figma 设计软件&#xff0c;可以轻松地生成美观的 Tkinter GUI。 主要功能和优势包括&#xff1a; 拖放界面设计比手写代码更快…

鸿蒙应用开发之Web组件1

前面学习向导组件,现在来学习Web组件,这个组件也是一个比较复杂的组件,也是一个功能很强的组件,毕竟它是一个浏览器功能相当的组件,可以显示网页内容。 我们知道目前已经进入网络3.0时代,之前经历了1.0的文本时代,2.0的多媒体时代,现在进入全面交互时代。并且移动时代的…