APP下载

基于神经网络的核安全级主控制器负荷率预测研究

2019-08-09吴志强刘朝晖

自动化与仪表 2019年7期
关键词:组态核电厂遗传算法

齐 帅,陈 智,吴志强,丁 琳,刘朝晖

(1.南华大学 计算机学院,衡阳 421001;2.中国核动力研究设计院 核反应堆系统设计技术重点实验室,成都 610213)

核电厂仪表与控制系统是核电厂的“中枢神经”,对于保证核电厂安全运行起着至关重要的作用。目前,核电厂仪控系统基本都采用了全数字化的分布式控制系统DCS(distributed control system)结构,并分为安全级DCS和非安全级DCS两大部分。其中,反应堆保护系统RPS(reactor protection system)作为核电厂仪控系统中的重要的安全级系统,其功能由安全级DCS实现。通常,核电厂安全级DCS的主控制器 CPU(central processing unit)负荷率是衡量RPS运行性能的重要指标[1],因此一般在签订反应堆保护系统设备采购技术合同时,规定核电厂正常运行的情况下,CPU的负荷率需要被限定在一定的范围内,以确保系统能够长时间安全稳定运行。

目前对CPU负荷率的分析常采用静态实测方法,即在应用软件完成组态设计下装后进行负荷率的测试,验证是否达到要求。然而在实际工程实施时,DCS供货商往往希望在组态软件开始设计时就能够预估主控制器的程序模块执行时间,从而对不同功能模块在CPU的配置分配提供参考,以避免后期设备设计完成后由于CPU负荷率不满足相关要求引起的组态修改造成进度延迟。通常采用的静态测试方法无法实现这种需求。为此,研究了基于神经网络模型的预测方法,以实现对主控制器负荷率快速准确的预测。

1 CPU负荷率预测的基本方法分析

在CPU运算周期内,规定CPU的实际数据处理时间占CPU设定运算周期的百分比,称为CPU负荷率[2],因此实际数据处理时间(程序执行时间)是决定CPU负荷率的重要因素。

目前,对程序执行时间的研究聚焦在云服务和网络服务领城,在嵌入式应用程序方面的研究相对较少。对程序执行时间预测通常有静态分析和动态分析检测2种方法。静态分析[3]直接从程序结构分析流信息,通过静态分析可以建立输入、开发语言和硬件影响的时间模型,预测结果值往往大于实际值。动态分析方法[4]可以不考虑系统具体实现过程和软硬件环境,直接通过分析测试用例的实际执行时间就可以完成程序执行时间的预测,结果值往往小于实际值。

早期的文献[5]提出了基于控制流程图的程序执行时间的可视化分析框架,设计了基于控制流程图的静态分析工具,但其分析过程需要耗费大量的时间和资源。2010年文献[6]的方法对于小样本集误差结果误差范围较大。2012年文献[7]针对ARM处理器程序,分析程序执行中的动态指令数与执行时间在处理器上的非线性关系,设计出一种BP神经网络和最小二乘法支持向量机的预测方案,2种方法的程序执行时间预测平均误差范围在8%~13%之间,具有较好的预期结果。同年,文献[8]针对应用程序自身的复杂性、硬件平台的异构性和环境因素对功耗影响的不确定性,导致很难直接给出程序运行功耗的预测公式的问题,提出了基于神经网络的程序运行功耗预测方法,试验表明所提出方法具有合理性和可行性。2017年文献[9]通过分析云制造中执行时间的动态变化环境结合机器学习进一步进行研究,将执行时间划分为静态时间和动态时间,其中静态时间可以通过公式计算得出,针对动态时间,该文献在分析影响执行时间的因素基础上,提出基于BP神经网络预测动态时间历史数据的方法,试验结果表明预测精度较高。

据此,文献[5-6]方法稳定性较差;文献[7-9]提出的BP神经网络方法,能够在保证精度和稳定性的情况下适合核电厂对系统稳定性、可靠性的要求。故在此,以采用中国核动力研究设计院研发的安全级DCS平台——NASPIC(nuclear advanced safety platform of I&C)进行设备配置的反应堆保护系统为例,设计了基于神经网络模型预测CPU负荷率的方案,考虑到在对网络模型进行训练的过程中可能遇到的预测结果陷入局部优化的问题,采用遗传算法对网络模型进行优化。

2 基于遗传算法优化神经网络的核安全级CPU负荷率预测

2.1 BP神经网络预测模型

2.1.1 核安全级主控制器负荷率影响因素分析

BP神经网络[10]是目前应用最广泛的神经网络,网络由输入层、隐藏层和输出层组成。为建立主控制器CPU负荷率预测的BP神经网络模型,需要明确其输入输出的节点数,因此需要对核安全级负荷率影响因素进行分析。

由于国内安全级DCS的CPU设计一般采用定周期处理机制,NASPIC采用了相同的设计,所以分析CPU负荷率可转化为对数据处理时间的研究。一般来说,影响CPU数据处理时间的因素主要包括软件自身特征、硬件配置和运行的自然环境3个方面。在此所做的研究在相同的硬件配置环境条件下进行,故仅考虑软件自身特征和运行自然环境的影响。

(1)影响核安全级CPU负荷率的软件因素

利用NASPIC平台软件工具进行设备组态的设计阶段,首先需根据系统设计方给出的功能图,运用工程师站设备软件工具进行图形化组态设计,把功能图转化为XML格式的工程图页(每个工程图页由若干个算法基础模块非线性组合而成);随后进行第1次编译,通过设备组态SCADE软件工具对工程图页进行编译,生成XSCADE格式的文件和对应的组态模块应用程序;最后对生成文件进行第2次编译,下装到设备内存等待主控制器执行。同时,从组态设计到下装生成应用程序过程之间可能存在某种关联关系,从而影响执行时间。

根据上述过程,设计图页XML格式文件大小、生成的XSCADE格式文件大小、应用程序大小、基础算法模块数、算法模块种类及大小、输入参数类型和个数、条件语句都是影响CPU负荷率的重要因素。影响核电厂CPU负荷率的主要软件因素见表1。

表1 影响CPU负荷率的主要软件因素Tab.1 Main software factors for CPU load road

(2)影响核安全级CPU负荷率的环境因素

考虑核电厂的地理位置周围环境的特殊影响,温度和湿度经常会发生变化,而温度和湿度是影响主控制器硬件设备内部结构半导体电阻大小的重要因素。不同的温度和湿度通过影响电阻大小,进而对电流变化产生影响,导致CPU运行功率将受到影响,相应的程序执行时间和CPU负荷率也会随之变化。同样温度和湿度作为神经网络的输入层神经元,环境因素见表2。

表2 影响CPU负荷率的环境因素Tab.2 Environmental factors affecting CPU load road

2.1.2 模型的建立

根据上述分析,影响核安全级CPU负荷率的影响因素从软件自身和运行环境来说主要有11个,这些影响因素可作为BP神经网络模型的输入层的神经元。在此采用含有一层隐藏层的BP神经网络,隐藏层中神经元个数是影响神经网络性能的重要因素。根据Kolmogorov定理[11],隐藏层神经元个数设定为2n+1,其中n为输入层神经元个数。输入层节点数为11,则隐藏层节点数为23。输出层节点由CPU负荷率和程序执行时间(P,T)2个神经元组成。因此用于CPU负荷率预测的BP神经网络模型的基本结构如图1所示。

图1 神经网络结构模型Fig.1 Neural network model

2.2 遗传算法优化BP神经网络

神经网络的学习算法基于梯度下降,容易使问题的解陷入局部优化。遗传算法[12]GA(genetic lgorithm)是一种通过模拟自然进化过程中,种群个体的染色体的遗传和变异形成的一种全局优化搜索最优解个体的算法。遗传算法擅长全局搜索,可以很好地解决BP神经网络收敛速度慢和局部优化等局限性问题,故在此将两者相结合。利用遗传算法全局搜索的优势,对BP算法的初始权值和阀值进行优化,然后再进行神经网络模型训练,提高对核电厂主控制器负荷率值的预测精度。基于遗传算法优化的神经网络核安全级主控制器负荷率预测方法应用流程如图2所示。

遗传算法优化BP神经网络具体操作步骤如下:

步骤1确定网络结构,初始化网络算法参数值种群,设置遗传算法参数值。

步骤2得到更新的网络权值与阈值进行网络训练,分别计算网络训练输出的CPU负荷率和执行时间值的误差率,并且比较误差率值是否小于α。如若满足,则获得优化网络算法参数,输出预测值。否则执行步骤3。

步骤3①选择:计算种群个体适应度,选择适应度值高的保留到群体中。②交叉:通过改变将个体的结合顺序而得到更好的个体。③变异:仿照基因变异的方法来改变个体值来寻求全局最优解。群体经过选择、交叉、变异运算之后得到下一代新群体。

图2 GA-BP神经网络应用流程Fig.2 Application flow chart of GA-BP neural network

步骤4重新计算适应度,如若适应度值大于β,则执行步骤2;否则回到步骤3。

3 方法实现

3.1 实例样本的获取

为便于研究,选取核电厂不同工程项目的主控制器应用程序作为试验训练样本,以尽可能覆盖核电厂安全级仪控系统平台中的所有功能的主控模块的工程应用。

测量试验在相同的自然环境下进行,室温和相对湿度通过空调分别固定在27℃和35%。测试的软硬件环境为:软件环境采用NASPIC系统软件平台,工程师站操作系统为Windows 7;硬件设备环境由1个主控器板卡、通信COM板卡和协议转换模块PT组成。

获得样本的试验仿真将系统工程师站通过对不同工程图页应用程序的进行调参(改变输入参数值大小),这些不同的参数即作为神经网络模型输入层的神经元,然后通过安全显示站SVDU监控设备得到实际的主控制器程序执行时间和CPU负荷率,并进行多次测量记录执行时间和CPU负荷率的平均值作为真实值。测量试验原理如图3所示。

图3 试验仿真原理Fig.3 Experimental simulation schematic

3.2 样本训练

样本训练是通过MatLab软件工具进行网络建模训练而实现的。训练前为防止神经元进入饱和状态,对样本进行归一化预处理,公式为

式中:Yn为神经元向量值;min,max分别为向量集的最小、最大值。

在试验中,对遗传算法参数设置为:种群规模取50,进化代数取100,交叉概率取0.5,变异概率取0.05。分别采用GA_PB算法和基本BP算法对网络进行训练,2种网络模型均选择所设计的11-23-2三层结构。选取50个工程图页程序作为验证样本,部分验证样本见表3。

表3 部分测试样本Tab.3 Partial training samples

4 结果分析

将测试数据输入已经训练好的神经网络模型,得到工程应用程序执行时间和CPU负荷率预测值。执行时间和CPU负荷率的预测值与实际值的比较如图4所示。

图4 神经网络算法预测执行时间值、CPU负荷率对比Fig.4 Comparisons of predictive execution time values and CPU load rate of neural network algorithm

通过对比试验数据可知,预则与实测执行时间的最大绝对误差、平均绝对值误差、平均相对误差见表4。

表4 执行时间和CPU负荷率误差Tab.4 Execution time and CPU load rate error

由表可知,BP神经网络在执行时间和CPU负荷率的预测值平均相对误差上,比GA-BP神经网络相对应的分别多4.15%和4.64%。GA-BP神经网络在经过遗传算法优化网络权值和阈值之后,解决了陷入局部最小值的问题,取得的CPU负荷率的精度范围在90.76%~95.60%,平均相对误差率为5.32%,可满足实际工程设计的需求。

5 结语

针对实际工程需求,提出了一种基于神经网络模型的核安全级主控制器负荷率预测的方案。研究结果表明:对于具有非线性组合特点的主控制器的组态模块,采用遗传算法优化的神经网络在预测核安全级主控制器负荷率上具有更好的扩展和适应能力。

该方法使核电厂DCS工程师站能够在安全级DCS进行软件组态设计阶段时,就能对主控制器负荷率有准确的判定,从而预先进行CPU资源的合理分配,提高了工程效率。

猜你喜欢

组态核电厂遗传算法
浅谈力控ForceControl V7.2组态软件在自动化控制工程中的应用
重水堆核电厂压力管泄漏的识别与处理
核电厂起重机安全监控管理系统的应用
基于遗传算法的高精度事故重建与损伤分析
基于PLC及组态技术的恒温控制系统开发探讨
我国运行核电厂WANO 业绩指标
Rh XIII—Cd XVI 离子4s24p3—4s4p4 能级与跃迁的理论计算*
基于遗传算法的智能交通灯控制研究
组态软件技术现状与发展
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用