本发明涉及高含硫天然气净化技术领域,更为具体地,涉及一种基于ST-UPFNN算法的高含硫天然气净化工艺的动态演化建模方法。

背景技术:

高含硫天然气酸性组分含量比常规天然气高出数倍,其脱硫过程胺液循环量大、工艺流程复杂、能耗高。统计表明,脱硫单元能耗占高含硫天然气净化厂总能耗50%以上,其单位综合能耗高达1729.3MJ·t-1,属于高耗能单元。对大型净化厂而言,通过脱硫单元优化可降低能耗5%~10%。此外,高含硫天然气酸性组分浓度高,经过净化后的产品气量相对原料气流量有显著下降。为此,对高含硫天然气脱硫过程进行工艺优化,实现节能降耗,提高产率和气体加工经济效益是十分必要的。

技术实现要素:

鉴于上述问题,本发明的目的是提供一种基于ST-UPFNN算法的高含硫天然气净化工艺的动态演化建模方法,以解决上述背景技术所提出的问题。

本发明提供的基于ST-UPFNN算法的高含硫天然气净化工艺的动态演化建模方法,包括:

步骤S1:选择影响脱硫效率的工艺参数和脱硫单元的性能指标;其中,所述工艺参数包括进入尾气吸收塔的贫胺液流量、进入二级吸收塔的贫胺液流量、原料气处理量、尾气单元返回脱硫单元的半富胺液流量、一级吸收塔的胺液入塔温度、二级吸收塔的胺液入塔温度、闪蒸罐压力、一个重沸器的蒸汽消耗量、另一个重沸器的蒸汽消耗量和蒸汽预热器的蒸汽消耗量;所述脱硫单元的性能指标包括净化气中H2S和CO2的浓度以及净化气的产量;

步骤S2:采集预设时间的工艺参数和所述性能指标的数据,剔除误差样本后形成样本集[X,Y];

步骤S3:对样本集[X,Y]进行归一化,形成归一化样本集取归一化样本集中前80%的样本作为训练样本,而剩余的20%样本作为测试样本;

步骤S4:基于训练样本构建神经网络模型和神经网络模型的初始状态变量X,以及,将训练样本中的作为神经网络模型的输入,将训练样本中的作为神经网络模型的输出;

其中,神经网络模型为:

其中,Ik为训练样本的矢量样本值,并作为神经网络模型的输入,为网络输入层到隐含层的神经元的连接权值,为网络输入层到隐含层的神经元的阈值,为隐含层到网络输出层的神经元的连接权值,为隐含层到网络输出层的神经元的阈值,其中,i=1,2…S0;j=1,2…S1;k=1,2…S2;S0为网络输入层的神经元的数量,S1为网络隐含层的神经元的数量,S2为网络输出层的神经元的数量;

初始状态变量为:

步骤S5:利用ST-UPFNN算法估计神经网络模型的最优状态变量;

步骤S6:将最优状态变量作为神经网络模型的和对式(1)进行更新,获得训练样本更新后的神经网络模型;

步骤S7:将测试样本中的输入到更新后的神经网络模型,得到预测结果,将预测结果与测试样本中的实际输出进行比较,如果比较结果小于预设误差值,所构建的神经网络模型有效;否则重复上述步骤S1-S7,直至比较结果小于所述预设误差值为止。

本发明提供的基于ST-UPFNN算法的高含硫天然气净化工艺的动态演化建模方法,能够有效地跟踪装置的整个经济效益最优路线,有效克服过程干扰、设备性能变化、经济效益和生产目标的变化问题。

附图说明

通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:

图1a-图1c为训练样本的拟合精度图;

图2a-图2c为测试样本的测试精度图;

图3为测试样本与训练样本的精度误差图。

具体实施方式

名称解释

ST-UKFNN:Strong TrackUnscentedKalman FilterNeural Network,强追踪无迹卡尔曼滤波神经网络;

ST-UPFNN:Strong TrackUnscentedParticle FilterNeuralNetwork,强追踪无迹粒子滤波神经网络,其将ST-UKFNN、粒子滤波(Particle Filter)、BP神经网络相结合。

本发明提供的基于ST-UPFNN算法的高含硫天然气净化工艺的动态演化建模方法,包括:

步骤S1:选择影响脱硫效率的工艺参数和脱硫单元的性能指标;其中,工艺参数包括进入尾气吸收塔贫的胺液流量、进入二级吸收塔的贫胺液流量、原料气处理量、尾气单元返回脱硫单元的半富胺液流量、一级吸收塔胺液入塔温度、二级吸收塔胺液入塔温度、闪蒸罐压力、一个重沸器的蒸汽消耗量、另一个重沸器的蒸汽消耗量和蒸汽预热器的蒸汽消耗量;脱硫单元的性能指标包括净化气中H2S和CO2的浓度以及净化气的产量。如表1所示:

表1

步骤S2:采集预设时间的工艺参数和性能指标的数据,剔除误差样本后形成样本集[X,Y]。样本集[X,Y]如下表2所示:

表2

步骤S3:对样本集[X,Y]进行归一化,形成归一化样本集取归一化样本集中前80%的样本作为训练样本,而剩余的20%样本作为测试样本。

步骤S4:基于训练样本构建神经网络模型和神经网络模型的初始状态变量X,以及,将训练样本中的作为神经网络模型的输入即将训练样本中的作为神经网络模型的输出即

其中,神经网络模型为:

其中,Ik为训练样本的矢量样本值,并作为神经网络模型的输入,为网络输入层到隐含层的神经元的连接权值,为网络输入层到隐含层的神经元的阈值,为隐含层到网络输出层的神经元的连接权值,为隐含层到网络输出层的神经元的阈值,其中,i=1,2…S0;j=1,2…S1;k=1,2…S2;S0为网络输入层的神经元的数量,S1为网络隐含层的神经元的数量,S2为网络输出层的神经元的数量;

初始状态变量为:

步骤S5:利用ST-UPFNN算法估计神经网络模型的最优状态变量。

本发明利用ST-UPFNN算法估计所述神经网络模型的状态变量,以达到连接权值、阈值的不断调整,直到满足要求。将得到的最优状态变量作为上述所建立神经网络模型的连接权值、阈值。需要说明的是,该连接权值、阈值为通过ST-UPFNN算法调整后的连接权值、阈值,也是上述所建立的神经网络模型的全部连接权值与阈值,包括和

利用ST-UPFNN算法估计神经网络模型的最优状态变量的过程包括:

步骤S51:针对粒子滤波器设置粒子的数目N,并对抽样,得到初始粒子集并将所述初始粒子集中的每个粒子的权值均设为1/N。

其中,表示以x0为均值、P0为方差的正态分布采。

步骤S52:在获取(k+1)时刻的观测变量值后,利用ST-UKFNN算法对每个粒子进行(k+1)时刻的状态估计,得到最优状态估计值和协方差

利用ST-UKFNN算法对每个粒子进行状态估计的过程,包括:

步骤S521:对所述初始状态变量X进行Sigma采样,获得2n+1个采样点,初始化控制2n+1个采样点的分布状态参数α、待选参数κ,以及非负权系数β,对所述初始状态变量X的Sigma采样如下:

步骤S522:计算每个采样点的权重,每个采样点的权重如下:

其中,Wc为计算状态变量的协方差的权重,Wm为计算状态估计和观测预测时的权重,是的第一列,是的第一列。

步骤S523:通过离散时间非线性系统的状态方程将每个采样点的k时刻的最优状态变量的状态估计变换为(k+1)时刻的状态变量的状态估计以及,通过合并(k+1)时刻的状态估计的向量,获得(k+1)时刻的状态变量的状态先验估计和协方差Pk+1|k;其中,

(k+1)时刻的状态变量的状态估计为:

其中,表示k时刻的最优估计,wk为过程噪声,其协方差矩阵Qk为cov(wk,wj)=Qkδkj,

(k+1)时刻的状态变量的状态先验估计为:

(k+1)时刻的状态变量的协方差Pk+1|k为:

步骤S524:通过离散时间非线性系统的观测方程将获得的(k+1)时刻的状态变量的状态估计转化为(k+1)时刻的观测预测

其中,νk为观测噪声,其协方差矩阵Rk为cov(vk,vj)=Rkδkj,

步骤S525:通过并估计(k+1)时刻的观测预测的向量,获得(k+1)时刻的先验观测预测并根据先验观测预测估计(k+1)时刻观测预测的协方差

(k+1)时刻的先验观测预测为:

(k+1)时刻观测预测的预测协方差为:

其中,在此处引入强追踪算法,即渐消因子λk+1增强模型的追踪能力以提高模型精度;

Nk+1=Vk+1-βRk+1 (12)

其中,β为弱化因子,β≥1;

步骤S526:计算(k+1)时刻的状态变量的状态先验估计与(k+1)时刻的先验观测预测之间的状态协方差状态协方差为:

步骤S527:通过建立状态协方差和预测协方差的关系,更新(k+1)时刻的状态变量的状态估计和协方差,分别获得(k+1)时刻的最优状态估计值和协方差

其中,建立的状态协方差和预测协方差的关系为:

其中,Kk+1为增益矩阵,以及,

更新后的(k+1)时刻的状态变量的状态估计为:

更新后的(k+1)时刻的状态变量的协方差Pk+1为:

将更新后的(k+1)时刻的状态变量的状态估计和协方差Pk+1分别作为(k+1)时刻的最优状态估计值和协方差

步骤S53:将最优状态估计值和初始化后的协方差作为粒子的重要性密度函数进行抽样,得到新粒子由所有新粒子组成的粒子集中的每个新粒子的正态分布概率密度值如下:

(rand为正态分布随机误差)

正态分布密度函数:

其中,N为每个新粒子的正态分布,x、μ、σ分别为正态分布函数的三个变量,p为每个新粒子的条件概率;

式(2)中,x,μ,σ分别一一对应

式(3)中,x,μ,σ分别一一对应

式(4)中,x,μ,σ分别一一对应

步骤S54:对新粒子的权值进行更新,并进行归一化处理;其中,

权值更新公式为:

权值归一化公式为:

步骤S55:根据新粒子归一化处理后的权值和重采样策略对粒子集进行重采样,获取新粒子集并求取新粒子集中每个新粒子的状态估计值

设变量u,令取u1∈(0,1)

步骤S56:以粒子的数目N作为循环次数循环步骤S51-步骤S55的计算过程,将最后一次估计得到系统状态变量作为利用ST-UPFNN算法估计神经网络模型的最优状态变量;其中,将新粒子的状态估计值作为本时刻的最优估计付给进行下一时刻的状态估计。

神经网络模型的最优状态变量的结构参数如下:

步骤S6:将最优状态变量作为神经网络模型的和对式(1)进行更新,获得权值阈值更新后的神经网络模型。

步骤S7:将测试样本中的输入到更新后的神经网络模型,得到预测结果,将预测结果与测试样本中的实际输出进行比较,如果比较结果小于预设误差值,所构建的神经网络模型有效;否则重复上述步骤S1-S7,直至比较结果小于预设误差值为止。

本发明通过几组测试得到如下的技术效果:

图1a-图1c为训练样本的拟合精度图,其中,图1a影响脱硫效率的工艺参数为净化气H2S浓度,图1b影响脱硫效率的工艺参数为净化气CO2浓度,图1c影响脱硫效率的工艺参数为净化气产量。

图2a-图2c为测试样本的测试精度图,其中,图2a影响脱硫效率的工艺参数为净化气H2S浓度,图2b影响脱硫效率的工艺参数为净化气CO2浓度,图2c影响脱硫效率的工艺参数为净化气产量。

净化气H2S浓度、净化气CO2浓度和净化气产量相对误差均在2%以内,误差小于10%,故所建模有效。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

upfst是什么函数C语言,基于ST‑UPFNN算法的高含硫天然气净化工艺的动态演化建模方法与流程...相关推荐

  1. 【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 626期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab全变分算法图像去噪[含Matlab源码 626期] 获取代码方式2: 付费专栏Matlab图像处理(初级版) ...

  2. 【图像分割】基于matlab萤火虫算法图像分割【含Matlab源码 2136期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像分割]基于matlab萤火虫算法图像分割[含Matlab源码 2136期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  3. 装箱问题c语言函数,C语言基于贪心算法解决装箱问题的方法

    本文实例讲述了C语言基于贪心算法解决装箱问题的方法.分享给大家供大家参考,具体如下: 问题描述: 有一些箱子,容量为V,同时有n个物品,每个物品有一个体积(小于等于箱子容量),要求将物品全部装入箱子中 ...

  4. 热电偶单片机代码c语言,基于单片机的热电偶发生器设计(含电路原理图,程序)...

    基于单片机的热电偶发生器设计(含电路原理图,程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文15000字,程序,答辩PPT) 摘 要 热电偶标准信号发生器为袖珍式键控现场检测仪表.其由 ...

  5. 万年历设计单片机c语言,基于单片机的电子万年历设计(含电路图,Proteus仿真程序)...

    基于单片机的电子万年历设计(含电路图,Proteus仿真程序)(论文11000字,Proteus仿真程序) 摘    要 万年历作为日常生活中重要的时间显示设备,在人们的外出旅游和日常生活中都发挥了重 ...

  6. 任务分配算法c语言,基于蚁群算法多Agent任务分配方法.pdf

    基于蚁群算法多Agent任务分配方法.pdf 第26 卷第4 期 湖 南 工 业 大 学 学 报 Vol.26 No.4 20 12 年7 月 Journal of Hunan University ...

  7. upfst是什么函数C语言,一种基于KF和STUPF组合滤波的SINS大方位失准角初始对准方法技术...

    本发明专利技术公开了一种基于KF和STUPF组合滤波的SINS大方位失准角初始对准方法,将大失准角下非线性初始对准滤波模型分解为线性与非线性两部分,建立了线性滤波模型离散化的状态方程和量测方程,采用卡 ...

  8. 求三次样条函数c语言,基于C语言对三次样条函数的求解及程序.PDF

    基于C语言对三次样条函数的求解及程序 Va1ueEngineering 95 . 基于C语言对三次样条函数的求解及程序 TheSolutionandtheProgram toCubicSplineFu ...

  9. kcf算法c语言,基于KCF跟踪算法的目标轨迹记录系统的设计与实现

    摘要: 计算机视觉一直属于比较热门的研究领域.计算机视觉中的一个重要分支是目标的跟踪.目标跟踪以及轨迹记录在交通监控,行人流量,天文观测,导航制导,武器装备的研发等领域有着很实用的价值.KCF(ker ...

最新文章

  1. 高软作业三:原型化设计——随心记
  2. 分屏显示_王者做图显示器,戴尔(DELL)U2417全面介绍
  3. FreeSwitch安装和配置记录
  4. JVM参数设置和分析
  5. bzoj 1597 土地购买
  6. IOS15的导航栏高度和状态栏高度和tabBar高度的获取
  7. python字符串补空格输出_Python去除空格,Python中常见字符串去除空格的方法总结...
  8. 熊孩子倾家荡产玩游戏、打赏主播有救了!最高法:无效,可退还
  9. java面试之闭包(closure)
  10. LeetCode ——24. 两两交换链表中的节点
  11. 【Dart语言第6篇】Dart类
  12. 天地图显示不全的问题
  13. 数据采集卡的模拟输入信号到底应该怎么接线
  14. Java——打印九宫格(奇数行方阵)
  15. python判断正数和负数教案_正数和负数的教案设计
  16. 受够了百度网盘?如何注册无限容量的Google Drive网盘
  17. warning: mysql_fetch_array_php提示Warning:mysql_fetch_array() expects的解决方法,expects
  18. MLY翻译 -- 4.Scale drivers machine learning progress
  19. 手工测试点点点,测着测着,找前台小姐姐看电影去了···
  20. 心若在,梦就在——四月总结

热门文章

  1. c语言字符操作函数汇总及模拟实现
  2. 【C#】菜鸟教程学习笔记(一)
  3. 这篇spring事务理解透了,工资直接涨10K
  4. USB无线网卡和PCI-E无线网卡
  5. java中的面向对象基础
  6. java项目需要画什么图_项目管理流程图如何画?这样操作5分钟解决
  7. centos7当数据盘到达百分之80%后自动清理日志的shell脚本
  8. Redis深入学习(三)Redis数据类型选择和应用场景
  9. oracle数据库rpad,oraclerpad()函数
  10. 道痴前辈的C语言编程学习手札1