徐鲁帅,凌 晓,马娟娟,马贺清,付小华
(1.兰州理工大学 石油化工学院,甘肃 兰州 730050; 2.兰州理工大学 理学院,甘肃 兰州 730050)
管道被广泛用于石油、天然气及危化品运输。截至2019年底,我国长输管道总里程达13.9×104km,管道失效将给企业与社会造成巨大损失[1-3],腐蚀是管道失效主要原因之一[4-6]。因此,研究腐蚀缺陷管道失效压力,对保障管道安全运行意义重大。现阶段管道失效压力预测结果与实测结果误差较大[7-11],利用ANSYS 软件模拟含缺陷腐蚀管道,存在处理大数据量预测工作较困难的缺陷[12-14]。因此,本文基于BP神经网络(BPNN),通过引入差分进化算法(DE),建立DE-BPNN含腐蚀缺陷管道失效压力预测模型,并结合实例验证模型准确性和鲁棒性。
BPNN模型三层网络拓扑结构[15]如图1所示。
图1 BPNN模型三层网络拓扑结构Fig.1 Schematic diagram of BPNN network structure
BPNN输入、输出层公式如式(1)~(4)所示[16]:
(1)
aj=g(sj)
(2)
(3)
tk=g(pk)
(4)
式中:sj为隐藏层第j个节点输入值;xi(i=1,2,…,m)为BPNN模型输入值;wij为输入层到隐藏层权值;aj为隐藏层第j个节点输出值;bj为隐藏层阈值;pk为输出层第k个节点输入值;tk为输出层第k个节点输出值;wjk为隐藏层到输出层权值;bk为输出层阈值;g(x)为BPNN模型传递函数。
误差函数f(x)及权阈值修正系数如式(5)~(9)所示:
(5)
(6)
(7)
(8)
(9)
式中:N为样本总数;yk为实测值;tk为实际输出值;η为学习速率系数;Δwjk为隐藏层到输出层权值修正系数;Δwij为输入层到隐藏层权值修正系数;Δbk为输出层阈值修正系数;Δbj为隐藏层阈值修正系数。
DE是用于优化问题的启发式算法[17]。首先随机产生规模为N,空间维数为D的初始种群,个体为xi=[xi,1,xi,2,xi,3,…,xi,j],其中,i=1,2,3,…,N;j=1,2,3,…,D。DE算法主要包括以下3个步骤:
1)变异操作
变异操作为当代DE种群产生1个参照个体:从DE种群随机选取3个个体xr1(g),xr2(g),xr3(g),产生变异个体如式(10)所示:
vi(g)=xr1(g)+F×[xr2(g)-xr3(g)]
(10)
式中:vi(g)为变异后个体;r1,r2,r3为区间[1,N]互不相等的整数,且r1,r2,r3不等于i;N为群体总数;F为缩放因子,区间为[0,2]。
2)交叉操作
将当代个体xi,j(g)与目标个体vi,j(g)交叉,增加种群多样性,增大搜索全局最优可能性。本文采用二项式交叉,如式(11)所示:
(11)
式中:ui,j(g+1)为交叉后个体,j=1,2,…,D;D为空间维数;randb是[0,1]中随机数;CR为交叉率;jrand为[1,D]中随机整数。
3)选择操作
选择操作决定整个种群进化方向。贪婪选择策略通过比较ui(g+1)与xi(g)适应度值,选取较小个体作为子代并进行下一步操作,如式(12)所示:
(12)
含腐蚀缺陷管道失效压力预测模型(DE-BPNN)如图2所示。由图2可知,流程图主要包括以下7个步骤:
图2 DE-BPNN模型流程图Fig.2 DE-BPNN flow chart
1)初始化BPNN和DE参数。
2)计算初始种群适应度值h(x)。
3)根据适应度值与式(10)~(12)进行变异、交叉与选择操作。
4)计算新DE群体适应度值h(x)。
5)判断是否满足结束条件:若满足,则转至步骤6;若不满足,转至步骤3。
6)将DE中最优个体解码,给BPNN初始权值和阈值赋值。
7)使用优化模型DE-BPNN对含腐蚀缺陷管道失效压力进行学习预测。
通过选取相对误差(RE)、平均相对误差(MRE)以及决定系数R2等参数验证含腐蚀缺陷管道失效压力预测模型准确性与鲁棒性。其中,RE与MRE数值越小越好,2个参数为0时,预测值等于实测值;R2越接近1,拟合效果越好。RE、MRE、R2计算公式如式(13)~(15)所示:
从表1可知,比较不同子频带信号的分类结果,采用原始脑电信号和d4子频带信号优于其他频带得到的分类结果。其中,当特征组合为SL、SLQ时,采用ELM和SVM对警觉度进行分类,得到的分类准确率较高,分类效果较好。
(13)
(14)
(15)
选用文献[18]中61组含缺陷管道爆破实验数据,每组数据包含8种类型:管道外径、壁厚、缺陷长度、缺陷深度、缺陷宽度、屈服强度、拉伸强度及失效压力。从数据集中随机选取49组数据进行学习训练,剩余12组数据用于验证模型预测效果。部分含缺陷管道爆破实验数据见表1。
表1 部分含缺陷管道爆破实验数据Table 1 Data of blasting tests on pipelines containing defects
为加快BPNN收敛速度,训练前对所有数据归一化,如式(16)所示:
(16)
式中:xnormalization为归一化结果;xmin、xmax为归一化区间临界值。部分数据归一化结果见表2。
表2 部分数据归一化结果Table 2 Data normalization results
分别使用BPNN模型、DE-BPNN模型对管道爆破实验数据进行学习预测。
1)BPNN初始参数设置
BPNN采用3层网络结构,输入数据类型包括管道外径、壁厚、缺陷长度、缺陷深度、缺陷宽度、屈服强度及拉伸强度,输出数据为失效压力。因此,将BPNN输入和输出层神经元数设为7和1。隐藏层神经元节点数如式(17)所示[19]:
(17)
式中:a为1~10的常数;l为BPNN隐藏层节点数;m为输入层节点数;n为输出层节点数。
由式(17)计算可知,隐藏层节点取值范围为4~13,将取值区间各节点数带入Matlab反复迭代,得到隐藏层节点数为7时,BPNN预测误差最小,因此,隐藏层节点数为7。
隐藏层以logsig函数为传递函数,如式(18)所示:
(18)
选用pureline作为输出层传递函数,如式(19)所示:
y=x
(19)
式中:x、y分别为节点输入量和输出量。
最大迭代次数(MaxT)设为5 000次,训练精度为10-6,学习速率0.005。
2) DE-BPNN初始参数
DE种群规模为40,交叉概率为0.4,缩放因子F=0.5,MaxT为200,目标适应度值10-6,BPNN部分与BPNN初始参数设置设置相同。
预测结果对比见表3。由表3可知,BPNN最大相对误差(MaxRE)为21.04%,最小相对误差(MinRE)为1.16%,平均相对误差(MRE)为9.06%;DE-BPNN模型预测结果MaxRE为6.38%,MinRE为0.98%,MRE为3.26%,DE-BPNN模型预测精度大幅提升。预测失效压力与实测失效压力对比如图3所示。由图3可知,DE-BPNN模型管道失效压力预测值更趋近实测值。
表3 预测结果对比Table 3 Comparison table of prediction results
图3 预测失效压力与实测失效压力对比Fig.3 Comparison of predicted failure pressure and measured failure pressure
预测结果相对误差如图4所示。由图4可知,除个别测点,DE-BPNN预测结果优于BPNN模型,且DE-BPNN预测结果误差浮动范围较小,说明DE-BPNN模型预测结果精确度较高,鲁棒性较强。
图4 预测结果相对误差Fig.4 Relative error of prediction results
将BPNN、DE-BPNN模型预测失效压力与实测管道失效压力进行相关性分析,结果如图5~6所示,图中直线为函数Y=X,虚线为预测结果拟合曲线。由图5~6可知,DE-BPNN预测结果拟合曲线与函数Y=X基本吻合,R2=0.985 85,BPNN模型R2=0.937 69,前者拟合度更高,进一步验证DE-BPNN模型的准确性和鲁棒性。
图5 BPNN预测结果拟合曲线Fig.5 Linear fitting of BPNN prediction results
图6 DE-BPNN预测结果拟合曲线Fig.6 Linear fitting of DE-BPNN prediction results
1)基于BP神经网络(BPNN),引入差分进化算法(DE),建立DE-BPNN含腐蚀缺陷管道失效压力预测模型。
2)通过利用DE-BPNN、BPNN模型分别对管道爆破试验数据进行训练发现,DE-BPNN模型预测结果MRE为3.26%,R2为0.985 85,各项指标均优于BPNN模型,体现DE-BPNN模型较高准确性与较强鲁棒性。
3)应用DE-BPNN模型预测含腐蚀缺陷的管道失效压力可为长输管道运输调配与检维修提供决策支持。