基于嵌入分数维的树种算法的结构质量刚度识别
2018-08-27赵一霖刘济科丁政豪吕中荣
赵一霖, 刘济科, 丁政豪, 吕中荣
(中山大学 工学院, 广州 510006)
结构损伤识别一直是许多学者关注的重点问题,对于结构行之有效的检测可以避免很多事故的发生[1]。在相关研究中,许多学者将结构损伤模型等价为单元刚度矩阵中杨氏模量的减少[2],质量的改变[3],以及一种完全开口裂纹的模型[4]等等。但是将单元的损伤同时归结为质量和刚度同时改变的研究较少。另一方面,在损伤程度反演的研究中往往把该问题归结为优化问题[6-11],即通过定义一个关于损伤结构的目标函数,然后利用各种优化方法来实现结构参数的损伤检测。而利用经典的优化方法往往需要好的初始值,借助梯度和导数等信息,所以极大地限制了这些方法的应用。在这一方面,群智能算法则可以弥补经典优化方法的不足。在这一族方法中,树种算法因为方便执行,寻优能力较传统算法如GA (Genetic Algorithm),PSO (Particle Swarm Optimization)等算法更强[12],进而引起了注意。本文旨在利用嵌入分数维机制的树种算法来实现结构的质量刚度识别。首先引入树的搜索阶段。第二步在标准树种算法上,引入了两种更好的搜索模式,进而使得算法的局部搜索能力和全局搜索能力得以平衡。基于损伤结构的加速度响应建立损伤识别问题的目标函数,利用改进后的算法对该目标函数进行求解以获得损伤参数的识别。
1 目标函数
在本文中,将结构的损伤归结为单元刚度和质量的同时减少,所以可以利用一系列折损系数αi(i=1,2,…,n),βi(i=1,2,…,n)来描述。αi=βi=0时表示结构无损,αi=βi=1时则表示结构完全破坏。损伤结构的整体刚度和质量矩阵又可以表示为
(1)
(2)
(3)
2 改进的树种算法
树种算法是一种新型的群智能算法。它主要是模仿大树的繁衍方式来对最优解进行寻找。对于每一棵树(可行解)首先会随机地产生若干种子,每一颗种子根据趋势函数ST (Search Tendency)来选择适合自己的搜索模式。然后对原解和若干种子产生的可行解进行评估,选择留下适应度更好的解。所以与一般的群智能算法相比(如人工蜂群算法(Artificial Bee Colony, ABC)和萤火虫算法[13])该算法的局部搜索模式更为剧烈和精细,所以具备了更好的全局寻优能力。关于树种算法的详细描述可以参考丁政豪等的研究,以下重点介绍树种算法的改进部分,即MTSA (Modified Tree Seed Algorithm)。
2.1 嵌入分数维的初次寻找
参考人工蜂群算法的雇佣蜂搜索,所以拟在标准TSA算法中引入一个‘树的搜索’即对初始种群进行一个大致地寻找,然后在进行树种搜索。在这个阶段里面,搜索的初期(迭代刚开始的阶段),为了保证种群的多样性,采用如下搜索模式
Ti,j(iter+1)=Ti,j(iter)+γi,j×(Ti,j(iter)-
Tr,j(iter))
(4)
式中:iter为当前的迭代步数;Ti,j为第ith棵树的第jth维变量γi,j是分布于[-1,1]的随机数;Tr,j为种群里面随机选择的第rth棵树,在经过若干次迭代之后,到了迭代后期,则采用嵌入了分数维模型的公式进行后期搜索。分数维的定义如下所示
(5)
式中:Dδ[x(t)]为对函数x(t)求δ阶导数;Γ(·)为伽马函数。在本文中,考虑这种模型的前4阶的表达式,由式(5)离散得到迭代后期的搜索模式,如式(6)所示
(2-δ)(3-δ)T(iter-3)+φ1(b-x)+
φ2(g-x)
(6)
式中:φ1(b-x)+φ2(g-x)为离散化的时候产生的截断误差。在经过前期搜索之后,该公式用来执行后期的搜索。采用分数维模型是因为这种机制具有记忆功能,可以发现在这个表达式里头每一次迭代都是由之前3次迭代的信息共同决定的,所以在迭代后期,由于同化效应的影响,算法的收敛速度可以得到改善。
2.2 搜索模式的改进
在标准算法中,树种的全局搜索模式采用了人工蜂群算法中引领蜂的迭代方式
Si,j=Ti,j+γi,j×(Ti,j-Tr,j)
(7)
式中:Si,j为第ith树繁殖地第ith种子中第jth变量的变异结果;Tr,j为种群中的另一棵树的第jth变量;γi,j为一个位于[-1,1]之间的随机数。由于这种搜索模式侧重于算法的全局搜索,所以应该采用更加剧烈的方式来描述,站在这点来看,利用差分进化算法中的DE/rand/2/bin变异机制对待优化变量的每一维变量进行变异更为合理,而且文献[14]已经明确指出了差分进化机制相较于其他引领蜂搜索机制而言有更强的全局寻优能力,所以拟用式(8)来产生新解
Si,j=Ti1,j+F1·(Ti2,j-Ti3,j)+F2·(Ti4,j-Ti5,j)
(8)
式中:Ti1,Ti2,Ti3,Ti4,Ti5为种群中任意5棵不同的数;j为待优化变量中的任意一维变量),与原始算法的一维摄动产生新解相比,这种方式可以使得变异更剧烈,更加充分地利用种群的信息,从而使得初始状态的搜索着眼于全局搜索,进而能够避免“早熟”。其中F1,F2为缩放因子,一般两者都取0.5。
2.3 局部寻优能力的改善
在原始算法中,树种的局部搜索方式是围绕着此次迭代中最好的那一棵树进行邻域二次探索来实现的,具体表达式如式(9)所示
Si,j=Ti,j+γ×(Bj-Tr,j)
(9)
式中:Bj为最好的那棵树的第jth变量;γ为位于[-1,1]之间的随机数。如果围绕着最好的可行解周边进行二次探索是非常有利于算法收敛的。为了更好地实现这个目的,改进算法中拟采用以下方式探索
Si,j=Ti,j+γi,j(Ti,j-Tk,j)+χi,j(Bj-Ti,j)
(10)
式中:γi,j为位于[-1,1]之间的随机数;χi,j为位于[0,1.5]之间的随机数。此种模式的寻优不仅利用了最优解的信息而且利用了种群中其它可行解的信息[15],通过两个不同范围的缩放因子可以兼顾收敛速度和全局寻优能力。
3 数值模拟
为了测试算法的有效性,采用了一26杆桁架桥来作为第一个数值算例。它的几何外形如图1所示,它的杨氏模量为E=2.1×1011Pa,密度ρ=2.7×103kg/m3, 横截面积为A=10-4m2。 直杆的长度为L=1 m冲击荷载选择为6号自由度(4号节点垂直方向)作用一F=200 N的冲击荷载;采样总时长为0.5 s;无损结构的前3阶固有频率分别为77.71 Hz, 147.57 Hz和257.46 Hz。
图1 桁架模型
3.1 损伤工况1
假定6号单元损伤15%的杨氏模量,11号单元损伤10%的质量参数。采用New-mark直接积分法得到某些自由度(10 th,12 th 和15 th)的加速度响应(如图2所示),将这些相应数据作为输入,并且采用遗传算法(GA)进行比较。算法参数设置如下:初始种群数量为50,最大迭代次数设置为500次;对于遗传算法,交叉率为0.9,变异率为0.1;每种算法计算10次,统计平均值
和标准差。图3展示了基于三种算法得到的目标函数进化曲线,可以明显地观察到基于MTSA算法得到的曲线是更接近于0的,这就意味着基于该方法得到的识别结果是最好的。相较之下,其他算法如GA由于陷入了局部最优,所以目标函数值在经过200次迭代之后始终维持在102量级,故而完全失效了。更进一步,图4和表1记录了最终的识别结果,可以清楚地发现TSA得到的最大误差为3.811%,而基于MTSA得到的最大误差仅为0.077%,这充分表明了MTSA在处理该问题上的优越性。
图2 工况1测点加速度响应曲线
图3 基于各算法得到的目标函数迭代曲线
图4 工况1的识别结果
Fig.4 Identified result of case 1
3.2 损伤工况2
第二种情况考虑多点损伤,即假定6号,11号和16号单元存在5%杨氏模量的折损,11号单元存在10%的质量折损,因为GA算法在算例1中已经失效,所以此情况下只有TSA和MTSA算法用来计算结构损伤。为了测试噪声[16-17]对算法的影响,10%的白噪声加入到了加速度响应数据。图5展示了基于改进算法得到的折损因子的迭代曲线,经过100次左右的迭代,算法收敛到了预设值附近。图6和表1展示了最终的识别结果,可以清楚地发现,即便是运用被污染的响应数据,MTSA对于刚度参数,得到的最大识别误差为1.76%;对于质量参数得到的误差也仅为1.065%;同时就标准差而言,MTSA得到的值也是最小的,这充分说明了算法的稳定性和稳健性。
图5 基于改进TSA得到的折损因子的迭代曲线(工况2)
图6 工况2的识别结果
表1 桁架结构的识别结果
4 结 论
本文采用分数维机制改进树种算法,并且引入了两个全新的迭代方式,进而使得算法的全局寻优能力和局部寻优能力得以平衡。在损伤模型方面,将结构的损伤归结为质量和刚度的同时变化。采用加速度响应作为目标函数,以一个26单元的桁架结构作为数值算例,最终结果表明MTSA在响应数据被高等级噪声污染的情况下,仍然可以得到较好的识别结果。