APP下载

HBoost.R算法及航空铝合金裂纹扩展预测

2021-12-23王志航常锦才祝青钰

关键词:铝合金裂纹试样

王志航,常锦才,祝青钰

(1.华北理工大学 理学院,河北 唐山 063210;2.中国航空综合技术研究所,北京 100028)

0引言

铝合金材料作为航空领域重要组成材料广泛应用于航空工业中[1],在保证航空飞机安全飞行中起到至关重要的作用,因此对其开展相关研究具有十分重要的意义。早在19世纪中叶,德国铁路工程师Wohler提出了应力-寿命(S-N)曲线和疲劳极限的概念,并提出影响材料疲劳的因素对材料疲劳的影响程度。1870~1890年,一些研究者发展了Wohler的研究[2-5]。Paris等[6]提出了Paris公式以表达裂纹扩展规律。Fathi A.Alshamma等[7]在实验中确定了Paris定律的所有参数。在前人研究的基础上,近年来对裂纹扩展及断裂问题的研究呈现方兴未艾之势[8-12],现将主要进展阐述如下:雷贝贝[13]以2024-T4 铝合金为研究对象,采用有限元方法,研究了超载条件对后续疲劳裂纹扩展速率(da/dN)变化趋势的影响规律及作用机理。M.HAJIMOHAMADI等[14]、R.R.BHARGAVA等[15]分别对单孔、两孔裂纹平板的裂纹扩展问题进行了深入研究,赵晋芳[16]、李政鸿等[17]深入研究了多孔裂纹扩展问题,对多孔裂纹问题提出了相应的解析方法及结果。

Freund[18]最早在1997年提出了AdaBoost的集成学习算法。Boosting回归模型最早是由Drucker[19]应用到实际中的,他在AdaBoost.R算法的基础上提出了AdaBoost.R2算法,取得了较好的结果。王永明[20]指出集成学习在回归问题上的研究成果相对于分类问题要少很多。由此,他提出了有关于支持向量机的异质集成学习算法。Kuncheva和Whitaker[21]介绍了分类器集成中的多样性度量以及它们与集成精度的关系,给出了投票熵等多样性度量的计算方法。异质Boost集成算法[22](HBoost)是Hamid Reza Kadkhodaei等人在2020年提出的一种新的基于Boosting算法的异质集成分类学习算法,该算法具有基学习器多样性丰富、鲁棒性好、精确度高等优点。但是,目前还尚无HBoost在回归问题上的研究。

基于数据驱动方法对航空铝合金疲劳裂纹扩展进行研究,即采用HBoost.R算法,对疲劳载荷加载试验得到的裂纹扩展数据进行拟合研究。在载荷形式相同的情况下,建立能以两孔孔间裂纹规律预测三孔孔间裂纹规律的模型,并检验其拟合效果。此模型的建立不仅对航空铝合金材料裂纹规律预测提供了依据,并可以应用于航空飞机的安全飞行与寿命预测,还可为实际航空铝合金板孔间裂纹扩展规律的预测提供指导。

1试验内容

1.1 试验简介

该项试验主要研究在恒幅载荷与变幅载荷下带有两孔与三孔的航空铝合金板裂纹扩展规律,并采用HBoost.R算法对实验数据拟合分析。该试验采用的仪器为MTS疲劳试验机系统,其主要用于含多裂纹典型航空连接结构的疲劳试验和裂纹扩展试验。对于裂纹扩展行为,采用高倍光学显微镜测量。MTS疲劳试验机系统如图1、图2所示。

图1 MTS疲劳试验机系统 图2 两孔平板试样试验图

本试验采用的材料为现役先进飞机上最常用的铝锂合金。为探索航空铝合金板孔间裂纹的扩展规律,采用的航空铝合金板分为两孔和三孔2种。两种类型航空铝合金平板如图3、图4所示。

图3 两孔平板试样示意图

图4 三孔平板试样示意图

图3、图4中,铝合金平板试样中的小孔直径均为4 mm。图中B、C点之间的距离与D、E点之间的距离均为12 mm。疲劳载荷试验的各参数如表1所示。

表1 疲劳载荷试验参数表/kN

对图3、图4中A、B、C、D、E以及F各点,分别预制初始裂纹长度,从而在试验中得到裂纹扩展情况。依据试验目的,将预制裂纹情况分为恒幅载荷与变幅载荷两大类。其中恒幅平板试样11件,变幅平板试样5件。恒幅载荷下平板试样的裂纹预制统计见表2、表3(裂纹长度是指以初始裂纹尖位置为原点的裂纹扩展长度)。

表2 恒幅两孔试样初始裂纹预制情况/mm

表3 恒幅三孔试样初始裂纹预制情况/mm

变幅载荷下平板试样的裂纹预制统计情况见表4、表5:

表4 变幅两孔试样初始裂纹预制情况/mm

表5 变幅三孔试样初始裂纹预制情况/mm

采用的两孔铝合金平板,以B、C点连线的垂线为对称轴,可知A与D对应、B与C对应,若四点的初始裂纹长度相同,则视为初始裂纹对称的情况;同理可知,三孔铝合金平板,以C、D点连线的垂线为对称轴,可知A与F对应、B与E对应、C与D对应。在上述初始裂纹配置情况下,采用的两孔铝合金平板各孔边初始裂纹长度的类型都有涉及,故可考虑为初始裂纹随机配置。

1.2 试验过程

采取上述编制的适用于实验室用的恒幅疲劳载荷谱和变幅疲劳载荷谱(见表1);其次,开展恒幅载荷谱下多孔平板试样的疲劳裂纹扩展试验,采集疲劳多裂纹的扩展数据,分析其扩展规律;最后,开展变幅载荷下含多孔边裂纹平板试样疲劳裂纹扩展试验,采集裂纹长度与循环次数数据,为疲劳多裂纹扩展规律的裂纹长度及寿命预测提供试验数据。

1.3 试验数据

通过上述疲劳加载试验,得到了16组铝合金试样的裂纹扩展长度与循环次数的试验数据,分别保存在16个Excel文件中。该研究中将展示上述铝合金试样的部分裂纹扩展原始数据。恒幅两孔试样03中A、B、C、D点初始裂纹均为1.0 mm的试验数据,其部分数据见表6。

表6 恒幅两孔试样03的部分试验数据

恒幅三孔试样18的初始裂纹配置情况为:A、B、E和F点初始裂纹均为0.5 mm、C和D点初始裂纹均为1.5 mm,其部分数据见表7。

表7 恒幅三孔试样18的部分试验数据

变幅两孔试样01的初始裂纹配置情况为:A、B点初始裂纹为0.5 mm、C、D点初始裂纹为0 mm,其部分数据见表8。

表8 变幅两孔试样01的部分试验数据

变幅三孔试样09的初始裂纹配置情况为:A、B、D、E、F点初始裂纹均为0.5 mm、C点初始裂纹文1.5 mm,其部分数据见表9。

表9 变幅三孔试样09的部分试验数据

2 HBoost.R算法原理

该研究利用异质回归器作为Boosting方法的基础回归器。为此,首先回顾AdaBoost.R2算法,然后将HBoost算法应用到回归问题得到HBoost.R集成回归算法。

2.1 AdaBoost.R2算法

在AdaBoost.R2算法中,选择了基回归器的学习算法后,集成模型在每次迭代时,都会向模型添加一个新的回归器。在第一步中,对训练集的所有实例赋予相等的权重,并使用所选择的学习算法训练回归器。之后计算数据集的加权错误率(第5行)以及回归器的权重(第9行)。在下一步中,基于获得的回归器的权值来更新训练集的权值分布(第10行),并利用此权值分布训练一个新的回归器。此过程将进行到满足某个标准(例如,达到最大迭代次数)为止。最终模型是根据构造的回归器的权重中值构建的(输出行)。很明显,权重越高的回归器对最终输出的影响越大。

Boosting只考虑一种学习算法来构造基回归器,因此选择基回归器的类型需要人类专家了解数据的性质。此外,由于用于在每个步骤构建回归器的训练集实例彼此依赖,基回归器之间将具有很高的相关性,这意味着降低了基回归器之间的多样性。

由于Boosting是一种序列算法,因此AdaBoost.R2算法是一种同质集成算法。但是,采用异质集成的方法效果会更好。即在每个步骤中,使用与先前回归器不同类型的回归器更适合于新的输入实例。为了解决上述问题,将异质Boost集成算法应用到回归问题,得到了HBoost.R算法。该方法使用多种学习算法来构建提升方法。为了保留合适的回归器并剔除其他回归器,该算法会自动配置最终模型。

2.2 HBoost.R:一种异质Boosting集成回归

为了在Boosting算法上应用异质学习算法,并从数据集D中构建模型,以便最终模型可以对测试集数据进行准确预测。通过选取多种学习算法增加回归器之间的多样性,并且通过使用Boosting方法,可以预期最终模型的偏差会减少。训练数据的每部分可能适合于特定的学习算法,使用多种算法可使训练数据的每部分更有可能被准确预测。图5所示为HBoost.R算法的流程。

图5 HBoost.R的流程图

图5描述了HBoost.R算法的流程。它包括3个步骤:

(1)根据每种学习算法构造Boosting回归器。

(2)对回归器进行排序并创建修剪后的矩阵。此步骤分为2个子步骤:A对构建的回归器进行排序并将其导出到回归器矩阵中;B为修剪矩阵的每一列以获得最大的多样性。

(3)组合保留的回归器矩阵构建最终模型。

2.2.1从每种学习算法构造Boosting回归器

将一组学习算法作为输入参数。使用AdaBoost.R2算法训练数据集训练每种学习算法。为了进一步说明,如果考虑3种学习算法:支持向量回归(SVR)、回归树(RT)和K近邻回归(KNNR),则对于每种算法,训练Boosting回归器。由此得到的基础学习器的类型是不同的。假设有不同的L种学习算法,并且每种算法都使用Boosting方法生成T个弱回归器,则生成的回归器总数为L×T。每个回归器都赋予一个权重,该权重在2.1节中进行了描述。此步骤的输出是每种学习算法的T个回归器(总共L×T个回归器)及其分配的权重。

2.2.2排序回归器并创建修剪矩阵

HBoost.R算法流程中的步骤概述如图6所示:

图6 HBoost.R算法的步骤

(1)

其中,权值(Rl*(t))≥权值(Rl*(t+1)),1≤t≤T,1≤l≤L。

表10展示了回归器矩阵:

表10 排序之后的回归器矩阵

在表10回归器矩阵中,每一列较高的行比较低的行更有价值,每一行具有不同学习算法的回归器比其余行的回归器之间具有更接近的性能。构造了排序回归器矩阵之后,需要将其输出组合到泛化阶段的策略。考虑某些回归器之间会具有相似性,将所有的回归器组合在一起会降低多样性。因此,在组合输出之前,需要删除其中一些以增加集成模型的多样性。用于计算多样性最常用的度量之一是熵度量。在回归问题中,熵表示针对相同数据并通过公式计算的回归器预测结果中的差异。通过对Kuncheva[21]定义的熵进行扩展,得到了针对回归问题的熵度量计算公式。

定义回归问题的指标函数和如下式所示:

(2)

定义如下针对回归问题的熵度量计算公式(3):

(3)

每种基学习器的组合形式中至少存在2个回归器。由于表10中每一行都包含L个回归器,因此有(2L-L-1)个不同的基学习器组合形式。表10中,每行中基学习器的不同组合形式会计算出不同的熵值。

表11展示了KNNR、RT、SVR及LR等4个回归器的11种组合形式,以及分别在验证集上假设的熵值。表11中1代表保留的回归器,0代表删除的回归器。由于组合形式8产生的熵高于其他组合形式,因此应考虑其状态,从回归器集合中剔除SVR。这意味着与其他组合相比,KNNR、RT和LR的组合产生最高的熵。为了计算每一行的熵,需要回归器为相同验证集的实例生成其输出。与同一行的其他个体相比,产生更高熵的回归器组合形式更有可能被保留。这可以通过考虑图6中步骤2.B所示的"验证集"来完成。表12展示了剔除没有多样性的回归器后的修剪矩阵。带有交叉线的元素是应从每一行中剔除的基回归器,每行中剩余的回归器数量可能会有所不同。

表11 4个算法至少保留2个回归器的组合形式

表12 矩阵中每行被修剪后的部分回归器

2.2.3合并回归器并合并输出

修剪完矩阵后,使用简单的投票方法将每一行中剩余的回归器简化为一个回归器:

(4)

(5)

由于有贡献的回归器的数量已通过从矩阵中剔除的方式更改,因此简化回归器的权重在合并它们的输出之前采用公式(6)进行归一化。

(6)

构造简化的回归器后,可以使用公式(7)中的加权和函数对其进行组合。

(7)

3 HBoost.R算法预测铝合金裂纹长度

3.1 数据标准化

在归一化之前,需要确定使用的数据。根据前期数据探索可知:裂纹长度数据在循环次数较少的时候,处于不扩展的状态,即原始数据中的大量零值,对预测结果无影响,故可以舍去;在裂纹长度达到一定长度之后,后期循环次数较多时,裂纹长度保持不变,故也可以舍去此部分数据,只保留有变化规律的部分数据。本试验忽略两孔平板A、D点、三孔平板A、F点对于孔间裂纹扩展的影响。把每条裂纹的初始裂纹长度加到每列裂纹数据中,使得裂纹数据具有一定的物理意义。

数据标准化中的规范化方法:

(8)

经过上述标准化处理之后,对于裂纹长度作如下处理:对于两孔裂纹试样,将B、C点裂纹数据相加,得到裂纹累计长度,将其记为IBC,此累计裂纹长度在12 mm左右。对于三孔裂纹试样,将B、C、D及E点裂纹数据相加,记为IBCDE,得到裂纹的累计长度,此累计裂纹长度在25 mm左右。

利用Python中Matplotlib库,得到各个试样的裂纹扩展数据预处理图像。图中横坐标为循环次数,纵坐标为孔间裂纹长度之和IBC或IBCDE数据,具体图像见图7~图10。

图7 恒幅两孔裂纹累计长度 图8 恒幅三孔18裂纹累计长度

图9 变幅两孔裂纹累计长度 图10 变幅三孔09裂纹累计长度

3.2 HBoost.R算法预测裂纹长度

对于数据集作如下划分:使用scikit-learn中的train_test_split方法将相应载荷谱下两孔裂纹扩展的数据集划分为训练集、验证集和测试集。

采用的弱回归器分别为支持向量回归(SVR)、回归树(RT)及K近邻回归(KNNR)算法,其中SVR采用径向基核函数、回归树深度为4、K近邻的K值为2。使用上述弱回归器作为构建AdaBoost.R2算法的基学习器,每种算法的个数即算法中的T值为20。通过各个弱回归器构建的AdaBoost.R2回归器,得到训练后的HBoost.R算法,并利用相同载荷谱下的两孔裂纹扩展数据预测三孔裂纹的扩展,得到均方根误差和R(x),该项研究采用孔间长度(即12 mm)与预测长度的最大值的比值将预测结果进行放缩,如式(9)所示,最终得到HBoost.R算法对孔间两孔裂纹预测三孔裂纹的结果。

(9)

分别使用各个基学习器以及AdaBoost.R2算法通过相同载荷谱下的两孔裂纹扩展数据对三孔裂纹的扩展进行了预测,得到了相应的预测结果及均方根误差。其中,AdaBoost.R2算法使用深度为4的回归树作为基学习器,共20个基学习器。结果及均方根误差图像如图11~图14所示。

图11 各算法预测恒幅三孔18裂纹长度 图12 各算法的均方根误差

图12中各算法的均方根误差值分别为:HBoost.R:0.441 1,SVR:0.761 9,DTR:0.628 7,KNN R:0.656 7,ADR:0.584 4。HBoost.R标准差约为10.114 7,RMSE远小于标准差,效果很好。HBoost.R算法五折交叉验证的结果为:0.993 5,0.995 3,0.991 4,0.992 5,0.995 6,其均值为:0.993 7,也可以说明模型的预测效果较好,可以使用该模型。

图13 各算法预测变幅三孔09裂纹长度 图14 各算法的均方根误差

图14中各算法的均方根误差值分别为:HBoost.R:0.7159,SVR:1.317 5,DTR:1.021 4,KNNR:1.037 4,ADR:0.909 0。HBoost.R标准差约为9.563 3,RMSE远小于标准差,效果很好。HBoost.R算法五折交叉验证的结果为:0.973 9,0.948 0,0.887 9,0.975 0,0.826 2,其均值为:0.922 2,也可以说明模型的预测效果较好,可以使用该模型。

上述结果表明:在裂纹扩展预测问题中,HBoost.R算法的均方根误差均小于其组成的基学习器算法及AdaBoost.R2算法的均方根误差。此算法具有较好的预测精度,且其泛化性能良好,具有解决航空铝合金裂纹扩展预测问题的能力。

4结论

(1)定义了回归形式的熵度量,将HBoost算法应用于回归问题建立了HBoost.R算法,用来预测航空铝合金疲劳裂纹扩展,预测结果与试验数据基本一致。

(2)两孔预测三孔孔间裂纹扩展长度HBoost.R模型的均方误差为:恒幅载荷下0.441 1,变幅载荷下0.715 9。该模型的精度满足实际航空铝合金疲劳裂纹扩展预测问题的要求。

(3)HBoost.R算法有比其他对比算法更高的精度,通过五折交叉验证结果以及回归形式熵度量,可以说明此模型具有较高的精确度、稳定性与鲁棒性。

猜你喜欢

铝合金裂纹试样
有了裂纹的玻璃
小冲杆试样蠕变试验分析P91钢缺口敏感度
X80管线钢的氢脆性能
一种基于微带天线的金属表面裂纹的检测
铝合金模板在建筑施工中应用
热载荷下热障涂层表面裂纹-界面裂纹的相互作用
铝合金加筋板焊接温度场和残余应力数值模拟
一种新型铝合金附着式升降脚手架的力学性能分析
基于Hopkinson 压杆的M 型试样动态拉伸实验方法研究*
心生裂纹