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

文章目录

    • 【`获取资源`请见文章第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.hqwc.cn/news/540099.html

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

相关文章

【JavaEE -- 多线程3 - 多线程案例】

多线程案例 1.单例模式1.1 饿汉模式的实现方法1.2 懒汉模式的实现方法 2. 阻塞队列2.1 引入生产消费者模型的意义:2.2 阻塞队列put方法和take方法2.3 实现阻塞队列--重点 3.定时器3.1 定时器的使用3.2 实现定时器 4 线程池4.1 线程池的使用4.2 实现一个简单的线程池…

phpcms上传漏洞

原始漏洞 漏洞原理:我们上传一个zip的压缩包,它会解压然后删除其中不是.jpg .gig .png的文件 function check_dir($dir):这是一个PHP函数的定义,它接受一个参数 $dir,代表要检查的目录路径。 $handle opendir($dir)…

Gartner最新生成式AI报告:300个行业用例揭示GenAI垂直行业发展的五个关键的不确定性

我们对各行业 GenAI 用例的分析揭示了高管在规划工作时面临的五个关键不确定性。首席信息官可以利用这项研究来战略性地应对这些不确定性,并最大限度地提高 GenAI 投资的成果。 主要发现 我们对 300 多个特定行业的生成式 AI 用例的分析揭示了五个关键的不确定性&am…

java将oss链接打包成压缩包并返回

博主介绍: 22届计科专业毕业,来自湖南,主要是在CSDN记录一些自己在Java开发过程中遇到的一些问题,欢迎大家一起讨论学习,也欢迎大家的批评指正。 文章目录 前言解决注意结果展示 前言 需求:在用户列表中的…

SpringTask实现的任务调度与XXL-job实现的分布式任务调度【XXL-Job工作原理】

目录 任务调度 分布式任务调度 分布式任务调度存在的问题以及解决方案 使用SpringTask实现单体服务的任务调度 XXL-job分布式任务调度系统工作原理 XXL-job系统组成 XXL-job工作原理 使用XXL-job实现分布式任务调度 配置调度中心XXL-job 登录调度中心创建执行器和任务 …

渗透测试实战思路分析

免责声明:文章来源真实渗透测试,已获得授权,且关键信息已经打码处理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人…

状态机高阶讲解-05

887 00:38:03,240 --> 00:38:04,330 在外面 888 00:38:05,130 --> 00:38:06,120 有 889 00:38:06,400 --> 00:38:08,475 请求进来的时候 890 00:38:08,475 --> 00:38:10,550 有消息进来的时候 891 00:38:11,630 --> 00:38:14,000 那么经过我们状态机 892 0…

白话transformer(三):Q K V矩阵代码演示

在前面文章讲解了QKV矩阵的原理,属于比较主观的解释,下面用简单的代码再过一遍加深下印象。 B站视频 白话transformer(三) 1、生成数据 我们呢就使用一个句子来做一个测试, text1 "我喜欢的水果是橙子和苹果&…

计算机网络——物理层(数据通信基础知识)

计算机网络——物理层(1) 物理层的基本概念数据通信的基本知识一些专业术语消息和数据信号码元 传输速率的两种表示方法带宽串行传输和并行传输同步传输和异步传输 信道基带信号调制常用编码方式 我们今天进入物理层的学习,如果还没有了解OSI…

爱普生晶振发布RTC模块晶振(压电侠)

爱普生晶振一直以”省,小,精”技术作为资深核心,并且已经建立了一个原始的垂直整合制造模型,可以自己创建独特的核心技术和设备,使用这些作为基地的规划和设计提供独特价值的产品. 世界领先的石英晶体技术精工爱普生公…

Python实现贝叶斯优化器(Bayes_opt)优化极限学习机回归模型(ELMRegressor算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 贝叶斯优化器 (BayesianOptimization) 是一种黑盒子优化器,用来寻找最优参数。 贝叶斯优化…

展厅装修主要流程是什么

1、展厅主题 沟通是展厅装修服务的前提,沟通营者对企业的基本情况了解,影响着展厅装修的服务质量,所以说在为参展商提供展厅装修服务时,都要与参展商进行详细的洽谈。 2、现场勘探 展厅装修的首要步骤就是需要先进入展会的场馆&am…