李战芬, 韩 意, 刘彦臣, 樊孝仁
(1. 太原工业学院 网络与信息中心, 山西 太原 030008; 2. 中国人民解放军63961部队, 北京 100012;3. 中北大学 机电工程学院, 山西 太原 030051)
基于神经网络遗传算法优化的曲轴疲劳寿命预测
李战芬1, 韩意2, 刘彦臣3, 樊孝仁1
(1. 太原工业学院 网络与信息中心, 山西 太原 030008; 2. 中国人民解放军63961部队, 北京 100012;3. 中北大学 机电工程学院, 山西 太原 030051)
摘要:针对传统的曲轴弯曲疲劳实验的破坏性, 利用神经网络的预测功能, 以应力幅值和谐振频率变化值作为输入, 疲劳寿命作为输出建立了神经网络模型. 采用曲轴弯曲疲劳实验机测试的历史数据作为训练样本集, 对神经网络进行遗传算法优化, 对曲轴疲劳寿命进行预测. 实例验证结果表明, 预测结果与实际测试值之间的相对误差较小, 可以作为一种无损检测的良好工具.
关键词:神经网络; 遗传算法; 曲轴; 疲劳寿命预测
0引言
曲轴作为发动机的一个重要零部件, 其疲劳可靠性对发动机的正常工作有着重要的影响, 尤其是曲轴在高周疲劳应力作用下的疲劳寿命问题, 一直是研究者们竞相研究的热点. 目前曲轴弯曲疲劳实验虽然能够获得精确的疲劳寿命值[1], 但是曲轴已经破坏, 失去了使用价值, 并且测试成本和测试时间的代价过高无法实现批量测试. 本文根据曲轴疲劳实验经验, 曲轴的疲劳寿命与弯曲刚度的变化存在对应关系, 提出一种基于遗传神经网络的曲轴疲劳寿命预测方法[2], 该方法可以充分发挥遗传算法全局最优搜索的优势, 有效解决单一BP(Back Propagation)人工神经网络算法的“过拟合”问题[3-4]. 利用基于遗传算法的BP人工神经网络模型的非线性函数逼近特性, 可以对曲轴疲劳寿命进行快速、 高精度的预测.
1输入/输出向量设计
以曲轴试件疲劳寿命实验获得的谐振频率历程和疲劳寿命作为网络样本数据[5-6]. 充分利用曲轴弯曲疲劳实验的历史数据, 从相同型号的曲轴测试历史数据库中随机抽取一定数量的曲轴实验历史数据, 每个历史数据包括次采样的曲轴谐振频率历史测试值及疲劳寿命值. 采样的谐振频率作为网络的输入变量. 因此, 输入变量就是一个维向量. 目标向量就是预测的曲轴弯曲疲劳寿命, 输出变量即为一维向量.
获得输入和输出变量后, 为提高BP人工神经网络的学习效率和收敛速度, 对输入和输出向量组成的样本数据进行归一化处理, 将每个样本数据中的谐振频率历史测试值和曲轴疲劳寿命历史测试值分别处理为区间[0,1]之间的数据. 归一化方法有很多种, 这里采用如下方法:
曲轴谐振频率历史测试值归一化计算公式
(1)
曲轴疲劳寿命历史测试值归一化计算公式
(2)
2基于遗传算法的BP人工神经网络模型
2.1BP人工神经网络模型
BP人工神经网络[7]是系统预测中应用特别广泛的一种网络形式. 因此, 这里采用BP神经网络对曲轴弯曲疲劳寿命进行预测. 一般的预测问题都可以通过单隐层的BP神经网络实现. 预测系统模型设计的BP人工神经网络具有三层, 输入层、 隐层和输出层.
1) 设定输入层神经元个数为曲轴谐振频率数据个数. 利用谐振式曲轴疲劳实验机在1 min内采样n(n是能够被60整除的数)次曲轴固有频率变化, 采样间隔为60·n-1s, 得到n个曲轴固有频率数据, 即确定输入层神经元个数为n个.
2) 确定BP人工神经网络输出层神经元个数, 本研究中目标向量是曲轴疲劳寿命, 即输出层输出结果只有一个值, 为1维向量. 因此, 设定输出层神经元个数为1个.
3) 根据Hecht-Nielsen的经验公式确定隐层神经元个数, 其计算公式为
(3)
在本次实验研究中,n=10,p=1,q=21. 使用Matlab的BP神经网络工具箱中newff函数创建上述三层结构BP人工神经网络, 初始权值和阈值为newff函数默认值.
权值和阈值包括4个矩阵:BP人工神经网络的输入层到隐层连接权值矩阵w1[10×21], 该矩阵中有10行21列数据, 每个数据表示输入层神经元到隐层神经元的连接权值. 隐层阈值矩阵b1[21×1], 该矩阵中有21行1列数据, 每个数据表示隐层神经元的阈值. 隐层到输出层连接权值矩阵w2[21×1], 该矩阵中有21行1列数据, 每个数据表示隐层神经元到输出层神经元的连接权值. 输出层阈值矩阵b2[1×1], 该矩阵只有1个数据, 数据表示输出层神经元的阈值.
若直接使用train()函数将归一化的训练样本输入上述网络, 对BP人工神经网络训练效果难以保证. 因此, 在研究中引入遗传算法优化上述BP人工神经网络, 优化后的权值和阈值可以有效避免“过拟合”现象, 加速迭代收敛速度, 避免落入局部极小点, 提高预测准确度.
2.2网络模型的遗传算法优化
遗传算法[8]能够在复杂的空间进行全局化搜索, 且具有较强的鲁棒性, 在可靠性设计、 作业调度和交通问题等许多领域得到了广泛的应用. 在研究中为了优化BP人工神经网络结构和学习权值的目的, 采用遗传算法对BP人工神经网络的权值和阈值进行优化计算.
遗传算法优化[9]主要过程包括:初始化种群、 个体评价、 选择、 交叉、 变异、 迭代计算和最优个体解码.
1) 初始化种群. 按照4个矩阵w1[10×21], b1[21×1], w2[21×1], b2[1×1] 的先后顺序, 将这些矩阵中的数据逐行编码为基因序列, 最后得到长度为L的基因序列. 基因序列的长度
(4)
式中:len(w1)是输入层到隐层连接权值矩阵w1[10×21]中的数据个数; len(b1)是隐层阈值矩阵b1[21×1]中的数据个数; len(w2)是隐层到输出层连接权值矩阵w2[21×1]中的数据个数; len(b2)是输出层阈值矩阵b2[1×1]中的数据个数.
利用MatlabGAOT遗传算法工具箱中的initializega函数随机生成m个长度为L的基因序列, 构成规模为m的初始种群, 该种群中的每个基因序列长度为L. m的取值范围为[30,120], 利用MatlabGAOT工具箱中ga函数多次实验, 确定在试验中取m=50时, 遗传算法收敛速度最快.
2) 个体评价. 通过适应度函数计算种群中每一个基因序列的适应度值, 根据适应度值选择新的下一代种群. 种群中基因序列的适应度值越大, 该基因序列被选中为下一代的概率越高. 适应度函数
(5)
式中:F(x)是适应度函数; x是种群中的基因序列, 即BP人工神经网络的权值和阈值编码; n表示训练样本个数; Di(x)表示第i个训练样本输入BP人工神经网络得到的曲轴疲劳寿命预测值, 即解码基因序列x得到的权值和阈值赋给BP人工神经网络得到的输出值; Ti为第i个训练样本的曲轴疲劳寿命实际测试值.
3) 对种群中所有的基因序列按照概率设置进行选择、 交叉和变异遗传计算操作. 一般情况下选择算子概率取值范围是[0.08,0.1],交叉算子概率的取值范围是[0.90,0.99], 变异算子概率的取值范围是[0.05,0.15], 使用MatlabGAOT工具箱中ga函数多次实验, 设定选择算子概率为0.09, 交叉算子概率为0.95, 变异算子为0.1, 遗传算法收敛速度最快.
4) 使用MatlabGAOT工具箱中ga函数进行迭代,进化产生下一代种群, 一般情况下最大迭代次数取值范围是[0,150], 研究中经过多次实验确定最大迭代次数取100遗传算法能够较快收敛, 即从初始种群最多进化100代.
利用Matlab GAOT遗传算法工具箱中的 initializega函数[10]随机生成50个基因序列, 构成规模为50的初始种群, 该种群中每个基因序列长度为253. 设定选择概率为0.09, 交叉概率为0.95, 变异概率为0.1, 适应度函数定义为式(5)中的F(x), 设定最大进化代数为100, 经过70代进化后误差平方和稳定在30迭代停止, 最后解码即可得到优化后的BP人工神经网络参数矩阵.
3预测与评估
3.1网络样本数据获取
在样本中, 输入向量为疲劳实验过程中的谐振频率, 目标向量是疲劳实验的结果寿命.
研究中以某型号六拐曲轴谐振弯曲疲劳数据为网络原始样本数据. 从近两年来曲轴测试历史数据库中随机抽取100个, 每个历史数据包括1 min 内采样10次的曲轴谐振频率历史测试值和曲轴疲劳寿命历史测试值作为训练样本集, 原始数据如表 1.
根据输入/输出向量的设计, 结合表 1 所列数据,n=10,k=1, 输入量为10维向量, 输出量为1维向量. 通过式(1)和式(2)对表 1 中的输入量和输出量分别进行归一化操作, 建立网络训练的样本集. 归一化结果见表 2.
表 2 所列数据为网络的训练样本集合, 即(a1,…,a100). 其中每一个训练样本ai(1≤i≤100)包含1个10维输入向量和1个1维输出向量. 例如训练样本集中第一个训练样本a1, 包括10维输入向量[1,0.999, 0.812,0.790,0.687,0.782,0.543,0.618,0 0.613]T和1维曲轴疲劳寿命历史测试值向量[0.390] .
表 1 谐振式曲轴疲劳实验机原始数据
表 2 归一化处理样本结果
3.2网络的训练
BP人工神经网络的每一个训练过程都包括正向和反向两次传播[9,11]计算:
1) 正向传播, 训练样本从输入层传输到隐层单元, 然后通过隐层传向输出层. 输入层到隐层传递函数为
(6)
从隐层到输出层传递函数为
(7)
(8)
正向传播过程中, 训练样本向前传递时各层之间的连接权值保持不变, 每一层神经元的状态只影响下一层神经元的状态.
2) 反向传播, 根据输出层的曲轴疲劳寿命预测值与曲轴疲劳寿命历史测试值存在的误差, 进行误差反向传播, 即将训练样本误差由输出端经过隐层逐层修正误差, 调节网络权值和阈值并向前传播. 公式为
(9)
式中:δ表示BP人工神经网络预测平方和误差;n表示训练样本个数;Di表示第i个训练样本输入BP人工神经网络, 所得输出的曲轴疲劳寿命预测值;Ti为第i个训练样本对应的曲轴疲劳寿命历史测试值.
使用Matlab的BP神经网络工具箱中的uvenberg-Marquardt迭代函数进行网络训练. 一般情况下, 对于给定的学习精度τ, 当δ<τ时, 网络停止训练, 将BP人工神经网络权值和阈值固定, 便可以利用训练好的BP人工神经网络对曲轴疲劳寿命进行预测.
对于得到的网络, 利用表2中的样本数据进行训练. 将100个训练样本输入到经过遗传算法优化后的BP人工神经网络进行训练, 经过15轮训练, 每轮训练2 000次, 网络输出和实际目标输出误差δ≤1×e-28. 基于遗传算法优化的BP人工神经网络模型训练完成, 平方和误差曲线, 如图 1 所示.
图 1 误差曲线Fig.1 Error curve
3.3疲劳寿命预测
首先利用谐振式曲轴疲劳实验机在1 min内采样10次曲轴谐振频率, 得到10个曲轴谐振频率数据[p1,p2,…,p10]. 按式(1)归一化公式处理采样数据, 然后输入已训练好的遗传神经网模型, 预测得到归一化的预测值. 对该预测值进行反归一化计算得到曲轴疲劳寿命[12-13]. 详细过程如图 2 所示.
网络测试预测结果见表 3 所示, 对5个曲轴试件进行测试, 将数据归一化后输入训练完成的BP人工神经网络模型, 经过模型预测输出曲轴疲劳寿命的归一化值T, 对该归一化曲轴疲劳寿命值进行反归一化计算即RT=T×107, 得到曲轴疲劳寿命实际预测值RT. 例如, 1号曲轴预测过程如下, 谐振式曲轴疲劳实验机采样曲轴谐振频率数据为[51.235,51.421,51.384,51.432,51.660,51.210,51.189,51.188,51.269,51.119], 将该数据归一化后输入到训练完成的BP人工神经网络模型得到归一化曲轴疲劳寿命归一化预测值为0.004 956 0, 反归一化得到曲轴疲劳寿命预测值为49 560. 1号曲轴利用谐振式曲轴疲劳实验机测试完成后得到实际测试值为50 010, 预测值和实际测试值之间的相对误差为0.009.
图 2 曲轴弯曲疲劳寿命预测流程图Fig.2 Prediction procedures of crankshaft bending fatigue life
利用该BP人工神经网络模型得到的预测值和谐振式曲轴疲劳实验机的实际测试值之间的相对误差小于0.050, 见表 3 所列. 从表 3 中可以看出,应用建立的神经网络预测疲劳寿命的误差小于5%, 具有较高的精度, 表明建立的网络模型能够充分反映输入和输出之间的映射关系.
表 3 BP人工神经网络模型预测结果
4结论
本文利用BP神经网络适合处理大量的离散含噪声及不完全的数据、 无需建立数学模型实现非线性拟合等特点, 建立了基于遗传算法的BP神经网络, 实现了高强度钢曲轴弯曲疲劳寿命的预测. 研究结果表明, 基于遗传算法的BP神经网络可以作为弯曲疲劳实验的替代方法, 预测曲轴的弯曲疲劳寿命, 是一种无损检测的良好工具, 为曲轴弯曲疲劳寿命的预测作了开拓性的研究.
参考文献:
[1]周迅, 余小莉. 曲轴疲劳试验及其数据统计分析方法的研究[J]. 内燃机, 2007, 28(2):51-55.
ZhouXun,YuXiaoli.Studyontestmanagementanddataanalysismethodofthecrankshaftfatiguetest[J].ChineseInternalCombustionEngineEngineering, 2007, 28(2):51-55. (inChinese)
[2]闫楚良, 郝云霄, 刘克格. 基于遗传算法优化的BP神经网络的材料疲劳寿命预测[J]. 吉林大学学报(工学版), 2014, 44(6) :1710-1715.
YanChuLiang,HaoYunxiao,LiuKege.FatiguelifepredictionofmaterialsbasedonBPneuralnetworksoptimizedbygeneticalgorithm[J].JournalofJilinUniversity(EngineeringandTechnologyEdition), 2014, 44(6):1710-1715. (inChinese)
[3] 王晖, 何新贵.BP网络泛化能力改进研究[J]. 系统工程与电子技术, 2001, 23(3):85-87.
WangHui,HeXingui.StudyofimprovinggeneralizationofBPnetwork[J].SystemsEngineeringandElectronics, 2001, 23(3):85-87. (inChinese).
[4]陈明. 神经网络模型[M]. 大连:大连理工大学出版社, 1995.
[5]孟广伟, 沙丽蓉, 李锋, 等. 基于径向基函数神经网络响应面法的装载机动臂疲劳可靠性[J]. 吉林大学学报(工学版), 2009, 39(6):1516-1520.
MengGuangwei,ShaLirong,LiFeng,etal.FatiguereliabilityanalysisofloaderboombasedonRBF-NNresponsesurfacemethod[J].JournalofJilinUniversity(EngineeringandTechnologyEdition), 2009, 39(6):1516-1520. (inChinese)
[6]KtariA,HaddarN,Rezai-AriaF,etal.OntheassessmentoftraincrankshaftsfatiguelifebasedonLCFtestsand2D-FEevaluationofJ-integral[J].EngineeringFailureAnalysis, 2016, 66: 354-364.
[7] 蒋蓉蓉. 一种基于遗传算法的BP网络改进方法[J]. 微计算机信息, 2007, 23(11):234-236.
JiangRongrong.AnewBPnetworkimprovedmethodbasedongeneticalgorithm[J].MicrocomputerInformation, 2007, 23(11):234-236. ((inChinese)
[8] 褚辉, 赖惠成. 一种改进的BP神经网络算法及其应用[J]. 计算机仿真, 2007, 24(4):75-77.
ChuHui,LaiHuicheng.AnimprovedbackpropagationNNalgorithmanditsapplication[J].ComputerSimulation, 2007, 24(4):75-77. (inChinese)
[9]罗四维. 大规模人工神经网络理论基础[M]. 北京:清华大学出版社; 北方交通大学出版社, 2004.
[10]王小川, 史峰, 郁磊, 等.MATLAB神经网络43 个案例分析[M]. 北京. 北京航空航天大学出版社, 2013.
[11]张月琴, 刘翔, 孙先洋. 一种改进的BP神经网络算法与应用[J]. 计算机技术与发展, 2012, 22(8):163-166.
ZhangYueqin,LiuXiang,SunXianyang.AnimporvedalgorithmofBPneuralnetworkanditsapplication[J].ComputerTechnologyandDevelopment, 2012, 22(8):163-166. (inChinese)
[12]AidA,AmroucheA,BachirBouiadjraB,etal.Fatiguelifepredictionundervariableloadingbasedonanewdamagemodel[J].Materials&Design, 2011, 32(1): 183-191.
[13]魏海坤, 徐嗣鑫, 宋文忠. 神经网络的泛化理论和泛化方法[J]. 自动化学报, 2001, 27(6):806-815.
WeiHaikun,XuSixin,SongWenzhong.Generalizationtheoryandgeneralizationmethodsforneuralnetworks[J].ActaAutomaticaSinica2001, 27(6):806-815. (inChinese)
文章编号:1673-3193(2016)04-0401-06
收稿日期:2016-03-03
作者简介:李战芬(1975-), 女, 实验师, 硕士, 主要从事计算机算法和实验室应用的研究.
中图分类号:TH133.2
文献标识码:A
doi:10.3969/j.issn.1673-3193.2016.04.015
Crankshaft Fatigue Life Prediction Based on Neural Network
LI Zhan-fen1, HAN Yi2, LIU Yan-chen3, FAN Xiao-ren1
(1. Network and Information Center, Taiyuan Institute of Technology, Taiyuan 030008, China;2. PLA Unit 63961, Beijing 100012, China;3. School of Mechatronics Engineering, North University of China, Taiyuan 030051, China)
Abstract:In view of the traditional crankshaft bending fatigue experiment destruction and making use of the function of neural network prediction, neural network model is established on the basis of the input of stress amplitude and resonance frequency change values and the output of the fatigue life. Taking the history data of crankshaft bending fatigue experiment machine as the training sample set, neural network is optimized by genetic algorithm. Meanwhile, the fatigue life of the crankshaft is predicted. Examples results show that the relative error between predicted results and the actual test value is small, which can be a good tool to the nondestructive testing.
Key words:neural network; genetic algorithm; crankshaft; fatigue life prediction