一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于FCNN与PSO相结合的事故序列筛选方法

2022-09-01 05:57:19 来源:中国专利 TAG:

基于fcnn与pso相结合的事故序列筛选方法
技术领域
1.本发明涉及事故序列筛选技术领域,尤其涉及基于fcnn与pso相结合的事故序列筛选方法。


背景技术:

2.传统的核电厂安全性评价方法是确定论分析方法(dsa)和概率论分析方法(psa)。然而两种方法都具有一定的局限性:确定论安全分析方法仅针对发生概率极低的具有代表性的设计基准事故的特定序列进行安全分析,决策准则太过于保守。概率论方法能够很好的考虑事故进程中的随机不确定性,但其成功准则的计算假设很简化、保守,对核电厂小幅度运行状态变更能力较差。因此,dsa与psa的风险指引的安全裕度特性分析方法(rismc)成为了研究热点。
3.现有的rismc方法是由psa分析方法对所有事故序列进行建模,再利用最佳估算加不确定性分析方法(bepu)对每个事故序列进行分析,得到最终的目标参数分布,以此判断核电厂的安全性能。如图1所示,为核电厂小破口失水事故rismc方法的分析过程。为了衡量核反应堆堆芯完整性,以包壳峰值温度(pct)作为目标参数。
4.以最佳估算程序relap5为例,采用i7-9700k 3.6ghz cpu计算机进行 5000s仿真计算需要约6min。为了保证不确定性分析结果的可靠性,一个序列采用随机抽样需要进行近千组计算。单序列串行计算分析需要约100h。当事故序列数量较多时,计算量过大。
5.因此,提出一种基于fcnn与pso相结合的事故序列筛选方法,来提高单次事故分析效率、减小计算量,是本领域技术人员亟需解决的问题。


技术实现要素:

6.有鉴于此,本发明提供了一种基于fcnn与pso相结合的事故序列筛选方法,有效提高了单次事故分析效率、减小计算量。
7.为了实现上述目的,本发明采用如下技术方案:
8.基于fcnn与pso相结合的事故序列筛选方法,包括以下步骤:
9.s101.明确研究对象、目标参数,完成确定论与概率论建模;
10.s201.采用并发计算方法,并发计算relap5程序,快速构建深度学习数据库;
11.s301.采用fncc分析方法构建深度学习替代模型,代替relap5进行事故分析;
12.s401.采用pso方法,调用替代模型进行事故分析,快速捕捉各个事故序列最优解,筛选出需要进行bepu分析的序列。
13.可选的,s101具体包括以下步骤:
14.s1011.根据确定论对研究对象进行建模;
15.s1012.根据概率论模型,确定所有事故序列;
16.s1013.确定不确定性参数、分布和目标参数;
17.s1014.进行参数敏感性分析,筛选关键参数。
18.可选的,s1011.根据确定论对研究对象进行建模具体包括以下步骤:
19.s10111.明确分析对象和事故;
20.s10112.获取建模过程中所需要的所有参数信息;
21.s10113.根据关键参数完成对象节点图后进行输入卡的编写,
22.s10114.建模完成后需要将模拟结果与设计参数进行对比分析,保证建模精度满足分析需求。
23.可选的,s201具体包括以下步骤:
24.s2011.并发初始化,在进行并发计算之前需要初始化设置输入参数、输入参数的范围、分布以及目标参数。明确数据库构建的输入和输出;
25.s2012.计算机设备性能测试,完成优化程序初始化设置;
26.s2013.多线程实现批量relap5输入文件更新;
27.s2014.多线程relap5计算;
28.s2015.构建输入、输出数据库。
29.可选的,s301具体包括以下步骤:
30.s3011.构建fcnn深度学习替代模型;
31.s3012.判断当前数据库样本大小不变的情况下,能否生成满足精度要求的 fcnn深度学习替代模型;若满足,则模型构建完成,进行封装后,进入s401,参与并发计算;否则,返回s201,增加学习数据库样本数量。
32.可选的,s3011.构建fcnn深度学习替代模型具体包括以下步骤:
33.s30111.调用学习数据库:将已经生成的数据库样本导入该步骤供模型构建使用;
34.s30112.输入层学习样本数据初始化及测试样本数据初始化:根据数据库中的输入参数和输出参数,对fcnn的输入层和输出层标称值进行数据更新。并且初始化fcnn的激活函数和关键信息;
35.s30113.隐藏层拟合:输入层的数据进入隐藏层经过激活函数进行非线性拟合;当有多个隐藏层时,前一个隐藏层的输出作为后一个隐藏层的输入进行数据传递;
36.s30114.输出层数据输出:一个输入层初始参数经过隐藏层的拟合后会输出一个拟合目标参数;
37.s30115.判断拟合输出数据与标称值误差是否满足要求:输出层的拟合目标参数与数据库中的relap5程序计算出的标准目标参数进行对比,当误差满足规定值后进入s30116中;若误差不满足规定则经过adam算法进行程序自动调参后继续进入s30113中,直到满足规定值后进入s30116中;
38.s30116.判断测试样本精度是否满足要求:将测试样本的输入数据导入到模型中,得到的输出值与测试样本中标准的输出值进行对比,满足要求则进行下一步;如不满足要求则继续adam算法调参,直到满足精度要求。
39.可选的,s401具体包括以下步骤:
40.s4011.对s101中所有事故序列的标称输入值进行relap5程序计算,得到各个序列的标称目标参数;
41.s4012.对事故序列进行分类,确定事故序列目标参数求解需求;
42.s4013.利用pos算法进行事故序列最优解计算。
43.可选的,s4013.利用pos算法进行事故序列最优解计算具体包括以下步骤:
44.s40131.初始化粒子参数:根据计算需求,设置每代粒子个数、粒子的维度、迭代总次数、惯性权重因子、学习因子、关键参数,控制pso优化的规模,效率;
45.s40132.确定输入参数及目标参数,完成程序初始化设置:根据s101得到的敏感性分析的结果,更新输入参数信息和目标参数信息,进行初始化;
46.s40133.调用深度学习替代模型,并发计算:调用s301中封装的深度学习替代模型,代替relap5进行事故分析计算;
47.s40134.获取目标参数,更新最佳适应值:通过深度学习替代模型计算后输出目标参数,并对比、更新各代目标参数最优解;
48.s40135.判断是否满足收敛条件:当满足任意收敛条件时,程序完成计算,进入s40136;若不满足则根据pso算法更新每个事故分析序列的初始参数继续迭代计算进入s40133中;
49.s40136.输出最优解数据;
50.s40137.输出序列筛选结果:根据最优解数据与安全限值对比及s40135 的判断分析,将需要进行bepu分析的事故序列号输出。
51.可选的,pso计算收敛条件包括:(1)达到最大迭代次数;(2)连续多代最优解变化差值都在误差范围内;(3)计算目标参数中出现特异值,其中特异值是指计算出的目标参数与安全限值的大小关系与该序列标称目标参数与安全限值的大小关系不同。
52.经由上述的技术方案可知,与现有技术相比,本发明提供了一种基于 fcnn与pso相结合的事故序列筛选方法:实现并发计算relap5,快速构建深度学习数据库;采用fcnn构建足够精度的深度学习替代模型代替 relap5进行事故分析,提高单个事故分析案例计算效率及pso分析调用时的程序稳定性;pso方法快速捕捉事故序列目标参数最优解,完成事故序列筛选,减少bepu分析序列数量。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
54.图1为核电厂小破口失水事故rismc分析过程;
55.图2为本发明基于fcnn与pso相结合的事故序列筛选方法流程图;
56.图3为本发明基于fcnn与pso相结合的事故序列筛选方法具体流程图;
57.图4为本发明并发计算快速构建深度学习数据库流程图;
58.图5为fcnn原理图;
59.图6为本发明fcnn深度学习替代模型构建流程图;
60.图7为本发明pso方法求事故序列最优解的方法流程;
61.图8为本发明粒子群算法数据迭代原理图。
具体实施方式
62.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
63.参照图1所示,为核电厂小破口失水事故rismc方法的分析过程。为了衡量核反应堆堆芯完整性,以包壳峰值温度(pct)作为目标参数。以最佳估算程序relap5为例,采用i7-9700k 3.6ghz cpu计算机进行5000s仿真计算需要约6min。为了保证不确定性分析结果的可靠性,一个序列采用随机抽样需要进行近千组计算。单序列串行计算分析需要约100h。当事故序列数量较多时,计算量过大。
64.基于此,本文提出了一种基于全连接神经网络与粒子群优化算法相结合的(fcnn-pso)核反应堆事故序列筛选方法如图2所示。
65.针对单次事故分析效率较低问题,本方法采用构建替代模型代替relap5 进行事故计算。fcnn方法由于便于实现,且非线性拟合能力强,因此是构建替代模型的有效方法。通过并发计算relap5计算程序,快速训练得到深度学习数据库。采用fcnn方法根据该数据库构建替代模型,替代relap5 程序进行事故分析,将单次几分钟时间降低到几秒钟,有效提高了单次事故分析效率。针对所有事故序列进行bepu分析时,案例计算数量较大问题,本方法采用优化算法快速捕捉各事故序列最优解的方法,进行事故序列分类,筛选出需要进行bepu分析的序列。由于pso方法易于实现,精度高,收敛快且便于并行计算,因此选择pso方法作为筛选所用的最优化算法。
66.参照图2所示,本发明公开了基于fcnn与pso相结合的事故序列筛选方法,包括以下步骤:
67.s101.明确研究对象、目标参数,完成确定论与概率论建模;
68.s201.采用并发计算方法,并发计算relap5程序,快速构建深度学习数据库;
69.s301.采用fncc分析方法构建深度学习替代模型,代替relap5进行事故分析;
70.s401.采用pso方法,调用替代模型进行事故分析,快速捕捉各个事故序列最优解,筛选出需要进行bepu分析的序列。
71.参照图3所示,为基于fcnn与pso相结合的事故序列筛选方法的具体流程图。
72.进一步的,s101具体包括以下步骤:
73.s1011.根据确定论对研究对象进行建模;
74.s1012.根据概率论模型,确定所有事故序列;
75.其中,根据确定论建模的过程中已经明确了的电厂和事故信息建立相应精度的事件树模型,明确各事故序列。确定论建模越精细,涉及到越多的系统和设备,则事件树越复杂。事件树模型要与确定论模型相匹配;
76.s1013.确定不确定性参数、分布和目标参数;
77.其中,在进行bepu分析过程中需要引入输入参数的不确定性,因此需要在分析前明确具体的不确定性参数、分布及范围。不确定性参数及其分布的确定主要根据核电厂设计资料,现象识别和分级表(pirt)及经验判断。由于各个核电厂都具有一定的特异性,不确定性参数的选择会存在一定的偏差,因此最初要选择较多数目的不确定性参数进行计算。
目标参数即为该事故工况下,判断堆芯是否损坏的关键参数。以小破口失水事故为例,pct就是目标参数。
78.s1014.进行参数敏感性分析,筛选关键参数;
79.其中,s1013确定了较多的不确定性参数,这会导致深度学习和最优化算法计算过程中,问题维度过高,计算精度低,收敛速度慢。因此需要在分析前进行敏感性分析,筛选出其中重要的不确定性参数,减少输入的不确定性参数的个数,降低后续分析难度。
80.更进一步的,s1011.根据确定论对研究对象进行建模具体包括以下步骤:
81.s10111.明确分析对象和事故;
82.其中,不同的核电厂有着明显不同的结构和特性,需要针对电厂进行具体的建模。在确定建模对象后需要确定分析的事故,不同事故涉及到的关键现象和过程不同,在各个系统和设备处对建模的精度要求有着明显的区别;
83.s10112.获取建模过程中所需要的所有参数信息;
84.其中,确定了研究电厂和事故后需要获取充分的核电厂参数信息。通过调研核电厂设计文件,安全分析报告等资料,确定核电厂建模过程中所需要的所有参数信息。例如堆芯的功率,管道的结构参数,堆芯进出口冷却剂温度、流量等;
85.s10113.根据关键参数完成对象节点图后进行输入卡的编写;
86.其中,以relap5程序为例,首先根据关键参数完成核电厂节点图。在此基础之上完成输入卡的编写;
87.s10114.建模完成后需要将模拟结果与设计参数进行对比分析,保证建模精度满足分析需求。
88.其中,根据确定论模型确定不确定性参数、范围、分布以及目标参数,在此基础之上,利用python程序的多线程模块和抽样模块批量生成relap5 输入卡。
89.进一步的,s201具体包括以下步骤:
90.s2011.并发初始化,在进行并发计算之前需要初始化设置输入参数、输入参数的范围、分布以及目标参数;明确数据库构建的输入和输出;
91.s2012.计算机设备性能测试,完成优化程序初始化设置;
92.其中,由于在进行并发计算时,为了保证多线程数据之间不互相影响,需要设置线程锁,以及多个relap5启动时防止同时读取物性参数表,需要设置一定的时间间隔。因此需要对计算机的反应性能进行测试,设置合适的延迟时间;
93.s2013.多线程实现批量relap5输入文件更新;
94.其中,传统的relap5在计算机上是串行计算,没有充分利用计算资源,效率低下。为了提高分析效率,本发明采用python程序开发并发计算功能,替代串行计算。在进行relap5计算之前需要利用多线程批量生成新的输入卡。在计算机一个进程中调用n个线程,每个线程执行一个输入卡的参数抽样,输入卡修改、更新任务。在调用python中的io_function函数进行多线程计算时,全局变量的修改会由于多线程数据共享而生成多个重复的输入卡,因此需要给各个线程之间设置线程锁,保证数据卡更新过程中只更新当前输入卡。在完成输入卡更新之后,以时间戳加线程号的方式对新的输入卡进行命名,保证输入卡命名不会重复;
95.s2014.多线程relap5计算:
96.一个线程中一次只能开启一个relap5程序进行计算,因此调用python 中的多进程模块结合多线程模块,在每个进程的每个线程中开启一个relap5 程序进行计算。在relap5开启计算的时候会读取水物性表,而当多个进程同时读取一个水物性表时会出现错误,因此在每两次relap5启动之间设置一个小的时间间隔time.sleep(),保证不会出现多个进程同时读取水物性表;
97.s2015.构建输入、输出数据库;
98.其中,在relap5计算完成后,会生成完整的o,r文件。由于每个文件命名是独一无二的,因此根据各文件名多个进程中多个线程同时工作读取o 文件中的目标参数。relap5计算后生成的o,r文件较大,为了有效节省内存,每次完成数据读取后立即删除o,r文件。完成所有事故序列计算后,生成输入参数,输出参数一一对应的数据库。
99.传统的relap5程序只能在计算机中进行串行计算。本方法为了提高计算效率,更高效的生成深度学习所需要的数据库,采用并发计算的方式进行计算。以i7-9700k3.6ghz cpu 8核计算机为例,当进行单线程relap5串行计算时,cpu使用率约13%,进行单个5000s案例计算需要约6min。以8进程同时计算8个5000s案例,cpu使用率约为100%,共需要约9min。多进程并发计算可以充分利用cpu计算资源,提高计算效率。
100.首先根据确定论模型确定不确定性参数、范围、分布以及目标参数。在此基础之上,利用python程序的多线程模块和抽样模块批量生成relap5输入卡。利用多线程和多进程模块控制多个relap5并发计算,并完成关键参数提取,生成深度学习数据库。具体实现流程如图4所示。
101.进一步的,s301具体包括以下步骤:
102.s3011.构建fcnn深度学习替代模型;
103.s3012.判断当前数据库样本大小不变的情况下,能否生成满足精度要求的 fcnn深度学习替代模型;若满足,则模型构建完成,进行封装后,进入s401,参与并发计算;否则,返回s201,增加学习数据库样本数量。
104.其中,现有的rismc分析中均采用系统程序进行事故案例分析,单次计算时间较长。以i7-9700k 3.6ghz cpu 8核计算机为例,以relap5程序进行单个5000s案例计算需要约6min。而在pso算法寻找最优解的过程中需要多粒子,多代计算才能得到收敛结果。当计算案例数量较大时,整体计算时间过长。并且多次pso算法迭代relap5计算对程序稳定性影响较大。因此,为了提高单个事故分析案例计算效率和优化程序稳定性,需要构建替代模型,代替relap5程序进行事故分析。而由于事故分析过程中,数据波动剧烈,采用简单的拟合公式难以准确的描述事故进程,因此采用易于实现,非线性拟合能力较强的fcnn方法构建替代模型。
105.fcnn原理图如图5所示。fcnn主要由输入层,隐藏层和输出层三部分构成。当导入本发明深度学习数据库后,数据库中输入参数信息更新fcnn 输入层信息,与之对应的数据库中的输出参数则作为输出层中用来对比拟合精度的标称值。输入层数据导入后,数据传递到隐藏层。隐藏层中的激活函数保证了隐藏层能够对非线性数据进行拟合。隐藏层1拟合后的输出数据作为隐藏层2的输入,数据依次传递直到输出层。输出层输出的拟合目标参数与数据库导入的标称值进行对比,若不满足误差精度要求则自动调整学习率,将数据再次投入隐藏层进行拟合,迭代到满足精度要求为止。
106.进一步的,参照图6所示,s3011.构建fcnn深度学习替代模型具体包括以下步骤:
107.s30111.调用学习数据库:将已经生成的数据库样本导入该步骤供模型构建使用;
108.s30112.输入层学习样本数据初始化及测试样本数据初始化:根据数据库中的输入参数和输出参数,对fcnn的输入层和输出层标称值进行数据更新。并且初始化fcnn的激活函数和关键信息;
109.s30113.隐藏层拟合:输入层的数据进入隐藏层经过激活函数进行非线性拟合;当有多个隐藏层时,前一个隐藏层的输出作为后一个隐藏层的输入进行数据传递;
110.s30114.输出层数据输出:一个输入层初始参数经过隐藏层的拟合后会输出一个拟合目标参数;
111.s30115.判断拟合输出数据与标称值误差是否满足要求:输出层的拟合目标参数与数据库中的relap5程序计算出的标准目标参数进行对比,当误差满足规定值后进入s30116中;若误差不满足规定则经过adam算法进行程序自动调参后继续进入s30113中,直到满足规定值后进入s30116中;
112.s30116.判断测试样本精度是否满足要求:将测试样本的输入数据导入到模型中,得到的输出值与测试样本中标准的输出值进行对比,满足要求则进行下一步;如不满足要求则继续adam算法调参,直到满足精度要求。
113.进一步的,s401具体包括以下步骤:
114.s4011.对s101中所有事故序列的标称输入值进行relap5程序计算,得到各个序列的标称目标参数;
115.s4012.对事故序列进行分类,确定事故序列目标参数求解需求;
116.s4013.利用pos算法进行事故序列最优解计算。
117.进一步的,参照图7所示,s4013.利用pos算法进行事故序列最优解计算具体包括以下步骤:
118.s40131.初始化粒子参数:根据计算需求,设置每代粒子个数、粒子的维度、迭代总次数、惯性权重因子、学习因子、关键参数,控制pso优化的规模,效率;
119.s40132.确定输入参数及目标参数,完成程序初始化设置:根据s101得到的敏感性分析的结果,更新输入参数信息和目标参数信息,进行初始化;
120.s40133.调用深度学习替代模型,并发计算:调用s301中封装的深度学习替代模型,代替relap5进行事故分析计算;
121.s40134.获取目标参数,更新最佳适应值:通过深度学习替代模型计算后输出目标参数,并对比、更新各代目标参数最优解;
122.s40135.判断是否满足收敛条件:当满足任意收敛条件时,程序完成计算,进入s40136;若不满足则根据pso算法更新每个事故分析序列的初始参数继续迭代计算进入s40133中;
123.s40136.输出最优解数据;
124.s40137.输出序列筛选结果:根据最优解数据与安全限值对比及s40135 的判断分析,将需要进行bepu分析的事故序列号输出。
125.进一步的,pso计算收敛条件包括:(1)达到最大迭代次数;(2)连续多代最优解变化差值都在误差范围内;(3)计算目标参数中出现特异值,其中特异值是指计算出的目标参
数与安全限值的大小关系与该序列标称目标参数与安全限值的大小关系不同。
126.其中参照图8所示,为粒子群算法数据迭代原理图,其中a1,1代表第一代第一个粒子,an,m代表第n代第m个粒子。以求解事故序列目标参数最大值为例。在该发明中,每个粒子代表一个替代模型计算出的目标参数。首先根据初始化的输入参数计算出第一代的所有结果,在所有结果中筛选出最大值w1。然后再根据pso算法更新一组新的输入参数,计算出第二代目标参数并筛选出其中的最大值w2。若w2大于w1,则最右侧最优解更新为w2。若w2小于w1,则最右侧最优解维持为w1。依此类推,逐代迭代并更新最优解。当连续10代最优解的差值满足精度要求,则终止计算,输出最优解。
127.对所公开的实施例的上述说明,按照递进的方式进行,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献