【危化品泄漏源定位】基于改进哈里斯鹰优化算法的危化品泄漏源定位算法 溯源定位算法【Matlab代码#63】

news2024/11/15 16:02:31

文章目录

    • 【`获取资源`请见文章第7节:资源获取】
    • 1. 算法概述
    • 2. 原始哈里斯鹰算法(HHO)
    • 3. 改进哈里斯鹰算法(IHHO)
      • 3.1 动态自适应逃逸能量
      • 3.2 动态扰动策略
    • 4. 构建源强和位置反算模型
    • 5. 部分代码展示
    • 6. 仿真结果展示
    • 7. 资源获取说明


获取资源请见文章第7节:资源获取】


1. 算法概述

针对泄漏事故,提出了一种融合气体扩散模型、传感器布局和优化算法的危化品泄漏源定位模型,将传感器获取的测量浓度数据与扩散模型的计算浓度进行误差对比,把二者之间的最小误差作为优化目标函数,利用优化算法对目标函数进行迭代寻优。将哈里斯鹰优化算法(HHO)应用于危化品溯源定位研究,此外考虑到原始哈里斯鹰优化算法存在的收敛精度低收敛速度慢易陷入局部最优等问题,对HHO算法进行了改进。

2. 原始哈里斯鹰算法(HHO)

详细介绍此处略,可参考HHO算法介绍

3. 改进哈里斯鹰算法(IHHO)

3.1 动态自适应逃逸能量

猎物逃逸能量E是HHO平衡全局探索与局部开发行为的重要参数。HHO中对猎物逃逸能量E的描述是由最大值线性递减至最小值,这种线性能量递减策略导致算法的探索和发开平衡性较差,且无法准确表征实际情况下鹰与猎物多轮围捕逃逸过程。 为此,在HHO能量递减策略中引入动态自适应权重。

3.2 动态扰动策略

在原始HHO算法中,当猎物的能量 ∣ E ∣ |E| E小于1时,算法进入开发阶段,但是这并不能保证种群一定能接近最优解,甚至导致过早收敛、陷入局部最优。因此引入动态扰动策略,帮助算法跳出局部最优。

4. 构建源强和位置反算模型

在这里插入图片描述

5. 部分代码展示

% 计算浓度值C
c=CacuC(Mubiao,sigma_x,sigma_y,sigma_z,x,y,u,t);
fobj = @(xx) fun(xx,c,sigma_x,sigma_y,sigma_z,x,y,u,t);%适应度函数设置 
% 调用哈里斯鹰算法求解
[Rabbit_Energy_HHO,Rabbit_Location_HHO,CNVG_HHO]=HHO(n,iter_max,lb,ub,dim,fobj);
[Rabbit_Energy_IHHO,Rabbit_Location_IHHO,CNVG_IHHO]=IHHO(n,iter_max,lb,ub,dim,fobj);

figure(1);
semilogy(CNVG_HHO, 'k', 'linewidth', 2)
hold on
semilogy(CNVG_IHHO, 'y', 'linewidth', 2)
xlabel('迭代次数');
ylabel('函数值');
legend('HHO','IHHO');
title(['HHO算法和IHHO算法各代最优解变化' '终止次数=' num2str(iter_max)]); 

6. 仿真结果展示

将原始HHO算法和改进后的IHHO算法均用于泄漏源定位算法,对比结果如下。

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

7. 资源获取说明

可以获取完整代码资源。👇👇👇👀名片

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

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

相关文章

BigDecimal类 --java学习笔记

BigDecimal 用于解决浮点型运算时,出现结果失真的问题 BigDecimal常用构造器和方法: HALF_UP 四舍五入

Qt-QPainter drawText方法不同重载之间的区别

QPainter类的drawText方法有如下重载: void drawText(const QPointF &position, const QString &text) void drawText(const QPoint &position, const QString &text) void drawText(int x, int y, const QString &text) void drawText(co…

人人站CMS后台登不进去解决方案(已解决)

公司有一个网站使用的是人人站CMS,最近发现后台登录不进去,有以下报错 发生以下错误: file get contents(http://www.rrzcms.com/Public/cms/config/config.ison): failed to open stream: HTTP reguest failed! 请求的URL导致内部服务器错误。 如果您反…

三维铁木辛柯梁Matlab有限元编程 | 弹簧支座 | 弹性支撑单元| Matlab源码 | 理论文本

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

茶叶加工厂用什么ERP比较好

茶叶加工厂,作为传统与现代相结合的产业,面临着销售渠道多样化、管理场景复杂化以及数据共享需求迫切等挑战。在这样的背景下,选择一款合适的ERP软件显得尤为重要。那么,茶叶加工厂究竟该选用什么样的ERP系统呢? 在众多ERP软件中…

C# danbooru Stable Diffusion 提示词反推 Onnx Demo

目录 说明 效果 模型信息 项目 代码 下载 C# danbooru Stable Diffusion 提示词反推 Onnx Demo 说明 模型下载地址:https://huggingface.co/deepghs/ml-danbooru-onnx 效果 模型信息 Model Properties ------------------------- ----------------------…

用户案例|向量引擎在携程酒店搜索中的应用场景和探索

Zilliz AI 初创计划是面向 AI 初创企业推出的一项扶持计划,预计提供总计 1000 万元的 Zilliz Cloud 抵扣金,致力于帮助 AI 开发者构建高效的非结构化数据管理系统,助力打造高质量 AI 服务与运用,加速产业落地。访问https://zilliz…

部署prometheus+Grafana可视化仪表盘监控服务

一、部署prometheus及监控仪表盘 简介 Prometheus是开源监控报警系统和时序列数据库(TSDB)。 Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控,输出被监控组件信息的HTTP接口被叫做expo…

微信公众号测试号里面显示若依前端页面

内网穿透 注册购买内网穿透隧道 https://natapp.cn/ 启动成功 这样就绑定你的本地启动项目 微信公众测试号配置 注册微信公众号测试号 获取access_token,AppID与appsecret 调用微信官方接口生成access_token(AppID和AppSecret可在“微信公众平台-设置…

IAB视频广告标准《数字视频和有线电视广告格式指南》之 简介、目录及视频配套广告 - 我为什么要翻译介绍美国人工智能科技公司IAB系列(2)

写在前面 谈及到中国企业走入国际市场,拓展海外营销渠道的时候,如果单纯依靠一个小公司去国外做广告,拉渠道,找代理公司,从售前到售后,都是非常不现实的。我们可以回想一下40年前,30年前&#x…

蓝桥杯--冶炼金属

目录 一、题目 二、解决代码 (1)版本一(报错:超时) 代码分析 (2)版本二(不会超时) 代码分析 (3)版本三(最终精简版)…

Github 2024-03-11 开源项目周报 Top15

根据Github Trendings的统计,本周(2024-03-11统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4TypeScript项目3Jupyter Notebook项目3C#项目1HTML项目1CSS项目1Dart项目1Lua项目1Shell项目1Rust…

Vue3--数据和方法

data 组件的 data 选项是一个函数。Vue 在创建新组件实例的过程中会自动调用此函数。   data选项通常返回一个对象&#xff0c;然后 Vue 会通过响应性系统将其包裹起来&#xff0c;并以 $data 的形式存储在组件实例中。 <!DOCTYPE html> <html lang"en"&g…

Unload-labs

function checkFile() {var file document.getElementsByName(upload_file)[0].value;if (file null || file "") {alert("请选择要上传的文件!");return false;}//定义允许上传的文件类型var allow_ext ".jpg|.png|.gif";//提取上传文件的类…

【学习记录】调试千寻服务+DTU+导远RTK过程的记录

最近调试车载定位的时候&#xff0c;遇到了一些问题&#xff0c;千寻服务已经正确配置到RTK里面了&#xff0c;但是导远的定位设备一直显示RTK浮动解&#xff0c;通过千寻服务后台查看状态&#xff0c;长时间显示不合法的GGA值。 首先&#xff0c;通过四处查资料&#xff0c;千…

一文解析AI社交网络 CharacterX,确定性空投不可错过

从 OpenAI 发布 ChatGPT 以来&#xff0c;AI 迅速成为全球热门话题&#xff0c;围绕 AI 的衍生应用层出不穷。随着前一段 Sora 的亮相&#xff0c;AI 的优异表现再次震惊世界。人们不得不承认&#xff0c;未来的互联网将不可避免的以 AI 为主线进行推动和演化。 在加密领域&…

new ArrayList 不当导致 CPU 飙升

问题是这样的&#xff0c;周五正在写文档&#xff0c;突然收到了线上报警&#xff0c;发现cpu占用达到了90多&#xff0c;上平台监控系统查看容器&#xff0c;在jvm监控中发现有一个pod在两个小时内产生了61次youngGc一次fullGc&#xff0c;这个问题特别严重且少见&#xff0c;…

【小黑嵌入式系统第十九课】结课总结(三)——操作系统部分(RTOSμC/OS-Ⅲ程序设计基础(任务函数时间临界区通信))

上一课&#xff1a; 【小黑嵌入式系统第十八课】结课总结&#xff08;二&#xff09;——软件部分&#xff08;系统架构&调试&测试&运行&系统软件设计&#xff09; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0…

独立开发的轻量级简洁开源论坛BBS PHP源码 – 2023新版发布

最新的轻量级开源论坛php源码发布啦&#xff01;这是一款独立开发的论坛系统&#xff0c;可以帮助你快速地开发出你想要的网站。 如果你是PHP初学者&#xff0c;这款论坛系统非常适合你入门学习。不过&#xff0c;需要注意的是&#xff0c;由于它并没有进行商业化改造&#xf…

C++面试100问!(三)

前言 本次专题旨在回顾C的一些基础&#xff0c;方便实时总结。 C源文件从文本到可执行文件经历的过程&#xff1f; 预处理阶段&#xff1a;对源代码文件中文件包含关系&#xff08;头文件&#xff09;、预编译语句&#xff08;宏定义&#xff09;进行分析和替换&#xff0c;生…