本发明涉及结构损伤识别技术领域,具体为一种基于混合元启发式算法的钢桁架结构损伤识别方法。
背景技术:
随着科学技术的进步,大量新材料、新设备、新技术的应用使工程结构朝着大型化、复杂化的方向发展,上海金融中心、北京中国尊和深圳平安金融中心等标志性建筑表明我国在土木工程领域取得了巨大进步。由于工程结构的使用寿命长达几十年,在服役期内结构易受到材料老化、超载、环境侵蚀和疲劳破坏等不利因素的耦合作用,将引起结构承载力降低和损伤累积,可能导致结构破坏引发灾难性后果。2004年法国戴高乐机场2e候机楼结构在温差的反复作用下,结构损伤不断累积,承载力逐渐降低而坍塌;2007年美国明尼阿波利斯市的一座桥梁因钢材锈蚀发生坍塌事故;2008年南方特大冰雪灾害使钢结构超过其承载能力而大量破坏。钢桁架结构是常用的工程结构形式之一,为了保证结构在服役期内正常运行,保障人们财产和人身的安全,有必要对其进行健康监测。结构损伤识别技术是健康监测的核心,是工程领域的研究热点之一。
结构损伤识别方法中,基于振动的方法是利用结构的加速度、频率、振型等动态参数对损伤进行检测,具有非破坏性、方便性和有效性等优点。钢桁架结构损伤识别逆问题可以转化为约束优化问题,先根据结构的动态参数定义优化问题的目标函数,然后利用优化算法计算出目标函数的最值。近些年来,大量优化算法已经应用在钢桁架结构损伤识别问题,传统的优化方法存在明显不足,或依赖于初始值,或易陷于局部最优而非全局最优;而受自然启发的元启发式算法则表现优越,全局搜索能力更强,既无需计算梯度,又易于实现并行计算。迄今为止,研究人员提出了多种自然启发的元启发式算法解决全局优化问题,常见的有人工蜂群算法(abc)、模拟退火算法(sa)、遗传算法(ga)、粒子群优化算法(pso)、差分进化算法(de)等。其中,模拟蝴蝶觅食和交配行为的蝴蝶优化算法(butterflyoptimizationalgorithms,简称为boa)是一种最新被提出并受到关注的智能优化算法,主要基于蝴蝶利用嗅觉确定花蜜位置和交配对象的策略。该算法设计参数少,概念简单且易于实施,收敛速度快;但蝴蝶优化算法也存在不足,全局搜索能力较差,有时陷入局部最优,向局部最优提前收敛而无法很好地执行全局搜索等。差分进化算法利用选择、变异和交叉三步操作更新种群个体,该算法全局搜索能力强,结构简单,易与不同算法混合。单独利用蝴蝶优化算法和差分进化算法进行钢桁架的损伤识别存在无法精确识别多处损伤和对噪声敏感的问题,影响了方法的实际应用。
技术实现要素:
为克服上述方法的缺陷,本发明提出一种混合蝴蝶优化和差分进化的元启发式算法,把差分进化算法中的变异和交叉操作加入到蝴蝶优化算法的全局搜索阶段,平衡全局搜索与局部搜索的关系,加快收敛速度,避免陷入局部最优陷阱,该混合算法可探测出损伤的存在、损伤的位置和损伤的程度,解决钢桁架损伤识别的反问题。
为实现上述目的,本发明采用的技术方案如下:
一种基于混合元启发式算法的钢桁架结构损伤识别方法,具体包括以下步骤
步骤1:将钢桁架划分为m个单元,l个加速度计安装在不同节点上,利用加速度计测量结构在外荷载force作用下的响应amea;
步骤2:混合算法参数初始化,在搜索域内随机产生结构参数,假定结构损伤为刚度的变化而质量不发生变化,结构单元刚度损伤程度可用损伤因子αi,i=1,2,...,m,αi∈[0,1],αi=0表示钢桁架单元没有损伤,αi=1表示钢桁架单元完全损伤,损伤单元的整体刚度矩阵为
步骤3:构建钢桁架结构的目标函数,即待优化的目标函数为f(x)=||amea-acal||;
步骤4:利用混合蝴蝶优化和差分进化的元启发式算法不断优化目标函数,直到达到最大迭代次数或满足精确要求。
进一步地,步骤4中钢桁架结构损伤识别的混合蝴蝶优化和差分进化的元启发式算法包括以下几个阶段:
1)混合算法参数初始化,设置参数:该混合算法中蝴蝶代表钢桁架,钢桁架个数n,钢桁架单元数即算法维数dim,损伤因子αi(i=1,2,...,m)的搜索空间[lb,ub],钢桁架的最大迭代次数gm;在搜索域内利用rand函数随机产生n钢桁架xi(i=1,2,...,n),lb≤xi≤ub;定义待优化的目标函数f(x);
2)外荷载作用在钢桁架xi,计算得到的加速度acal带入目标函数得到适应性函数f(x),找到最优个体bf,最优个体bf是最接近钢桁架实际损伤的识别结果。在钢桁架损伤识别问题中,适应性函数越来越小,修正有限元模型更接近钢桁架结构,从而实现钢桁架结构的损伤识别;
3)计算蝴蝶感受到的香味,蝴蝶能够产生某种与其适应性相关的香味,即当蝴蝶从一个位置移动到另一个位置时,香味的浓度会随着适应性发生变化,香味的多少可利用式(1)计算:
fi=cia(1)
其中,fi是第i只蝴蝶感受到的香味大小,即第i个钢桁架的识别函数;i是香味刺激强度,由钢桁架结构的适应性函数f(x)决定;c是感觉形态,对算法的收敛速度有很大影响,由具体的钢桁架结构决定;a是幂指数,它影响香味的吸收程度,a=1表示香味在理想环境下传播,香味没有损失,a=0表示香味全部被吸收,其他蝴蝶不能感受到;设置感觉形态c、幂指数a的初始值为c0、a0。
4)执行混合算法的迭代操作:
4.1)对每一个钢桁架判断是否r<p,其中r为[0,1]之间的随机数,p为开关概率,使算法在普通全局搜索和密集局部搜索之间切换,开关概率p表示环境因素对蝴蝶觅食交配行为的影响程度,影响钢桁架的识别结果,取值范围为[0,1];
4.2)执行局部搜索:如果r<p,则蝴蝶朝着最优蝴蝶位置即适应性最好的解移动,即利用式(2)执行局部搜索阶段:
上式中t为钢桁架当前迭代次数,
4.3)执行全局搜索:如果r≥p,蝴蝶无法感觉到周围的香味,它会随机移动,即利用式(3)执行全局搜索阶段:
进一步地,为提高蝴蝶算法的全局搜索能力,在全局搜索阶段分别利用式(4)和(6)执行差分进化算法中的变异和交叉两步操作:
式(4)中,
式(6)中,第t代钢桁架种群
5)更新参数,设置开关概率p、感觉形态c、幂指数a为随算法的迭代而改变的动态参数,具体计算式分别为(7)、(8)、(9):
p=p0+randn(1,1)×0.02(7)
ct+1=ct×(1+0.05gm/t)(8)
a=0.1×(1+t/gm)(9)
6)贪婪选择操作,利用贪婪算法选择适应性更好的解进入下一代,方法如式(10):
如果钢桁架的新种群
7)判断是否满足终止条件,若满足迭代终止条件则停止迭代输出全局最优解,即为钢桁架结构的损伤识别结果;若不满足终止条件,则迭代次数t=t+1,并转向3)继续迭代。
与现有的技术相比,本发明的特点和优点在于:
1、本发明利用加速度时域数据和混合元启发式算法进行钢桁架结构的损伤识别,混合算法综合了两种算法的优点,平衡全局搜索与局部搜索的关系,既加快收敛速度,又避免陷入局部最优。
2、本发明采用自适应变异和交叉算子。初期变异算子较大,有助于保持个体多样性避免早熟,后期随着迭代次数增多变异算子逐渐减小至f0,有助于保留优良信息避免最优解被淘汰。动态交叉算子有助于增加种群间信息的沟通交流,加速最优解的收敛过程,使钢桁架结构的损伤识别结果精度更高。
3、本发明采用动态参数设置,原始蝴蝶优化算法中开关概率p、感觉形态c、幂指数a等参数均为固定的常数,但参数恒定很难适应复杂情况,设置不合理极易导致无法搜索到最优解;本发明使用动态参数后,参数为较大值时有助于避免陷入局部最优值,参数为较小值时则有助于引导混合算法接近全局最优值,使其在噪声环境下钢桁架结构仍有很好的识别结果。
附图说明
以下附图用于说明本发明的技术方案和特点,但并不限定的本发明的适用范围:
图1是钢桁架结构的损伤识别过程示意图;
图2是本发明所提出的混合元启发式算法的实施流程图;
图3是37单元钢桁架结构示意图;
图4是混合算法对钢桁架结构的识别结果示意图;
图5是钢桁架结构的损伤因子进化识别示意图;
具体实施方式
下面结合附图说明中的流程图和和测试实例,进一步阐述本发明。
如图1和图2所示,钢桁架结构的损伤识别问题能够转化为优化问题,利用混合蝴蝶优化和差分进化的元启发式算法(hybridbutterflyoptimizationanddifferentialevolution
algorithms)解决。
钢桁架结构的损伤识别具体实施方式包括以下步骤:
步骤1:将钢桁架划分为m个单元,l个加速度计安装在不同节点上,利用加速度计测量结构在外荷载force作用下的响应amea;
步骤2:混合算法参数初始化,在搜索域内随机产生结构参数,假定结构损伤刚度变化而质量不变,结构单元刚度损伤程度可用损伤因子αi(i=1,2,...,m),αi∈[0,1]表示,αi=0表示钢桁架单元没有损伤,αi=1表示钢桁架单元完全损伤,损伤单元的整体刚度矩阵为
步骤3:构建钢桁架结构的目标函数,即待优化的目标函数为f(x)=||amea-acal||;
步骤4:利用混合蝴蝶优化和差分进化的元启发式算法不断优化目标函数,直到达到最大迭代次数或满足精确要求。
进一步地,混合蝴蝶优化和差分进化的元启发式算法包括以下几个阶段:
1)混合算法参数初始化,该混合算法中蝴蝶代表钢桁架结构,包括设置钢桁架结构数量n,钢桁架的单元数即算法的维数dim,搜索空间[lb,ub],钢桁架的最大迭代次数gm;在搜索域内利用rand函数随机产生n个钢桁架种群xi(i=1,2,...,n),lb≤xi≤ub,xi即为单元刚度损伤因子αi;定义适应性函数为f(x);
2)外荷载作用在钢桁架xi,计算得到的加速度acal带入目标函数得到适应性函数f(x),找到最优个体bf,bf是最接近钢桁架实际损伤的识别结果。在钢桁架损伤识别问题中,适应性函数越来越小,修正有限元模型更接近钢桁架结构,从而实现钢桁架结构的损伤识别;
3)计算蝴蝶感受到的香味,蝴蝶能够产生某种与其适应性相关的香味,即当蝴蝶从一个位置移动到另一个位置时,香味的浓度会随着适应性发生变化,香味的多少可利用式(1)计算:
fi=cia(1)
其中,fi是第i只蝴蝶感受到的香味大小,即第i个钢桁架的识别函数;i是香味刺激强度,由钢桁架结构的适应性函数f(x)决定;c是感觉形态,对算法的收敛速度有很大影响,由具体的钢桁架结构决定;a是幂指数,它影响香味的吸收程度,a=1表示香味在理想环境下传播,没有被吸收,a=0表示香味全部被吸收,其他蝴蝶不能感受到;设置感觉形态c、幂指数a的初始值为c0、a0。在本次实施例中,感觉形态c、幂指数a的初始值分别为0.01、0.1。
4)执行混合算法的迭代操作:
4.1)对每一钢桁架个体判断是否r<p,其中r为[0,1]之间的随机数,p为开关概率,使算法在普通全局搜索和密集局部搜索之间切换,开关概率p表示环境因素对蝴蝶觅食交配行为的影响程度,影响钢桁架结构损伤识别结果,取值范围为[0,1];
4.2)执行局部搜索:如果r<p,则蝴蝶朝着最优蝴蝶位置即适应性最好的解移动,即利用式(2)执行局部搜索阶段:
上式中t为钢桁架的当前迭代次数,
4.3)执行全局搜索:如果r≥p,蝴蝶无法感觉到周围的香味,它会随机移动,即利用式(3)执行全局搜索阶段:
进一步地,为提高蝴蝶算法的全局搜索能力,在全局搜索阶段分别利用式(4)和(6)执行差分进化算法中的变异和交叉两步操作:
式(4)中,
式(6)中,第t代钢桁架种群
5)更新参数,设置开关概率p、感觉形态c、幂指数a为随算法的迭代而改变的动态参数,具体计算式分别为(7)、(8)、(9):
p=p0+randn(1,1)×0.02(7)
ct+1=ct×(1+0.05gm/t)(8)
a=0.1×(1+t/gm)(9)
开关概率p取值范围[0.7,0.9],感觉形态c取值范围[0.01,∞),幂指数a取值范围为[0.1,0.2]。
6)贪婪选择操作,利用贪婪算法选择适用性更好的解,方法如式(10):
如果钢桁架的新种群
7)判断是否满足终止条件,若满足迭代终止条件则停止迭代输出全局最优解,即为钢桁架结构的损伤识别结果;若不满足终止条件,则迭代次数t=t+1,并转向3)继续迭代。
下面用钢桁架实例测试混合蝴蝶优化和差分进化算法(hbodea)、蝴蝶优化算法(boa)和差分进化算法(dea)的性能。如图3所示的钢桁架结构,共20个节点,37个单元,每个单元的密度ρ=7800kg/m3,弹性模量e=2.1×1011n/m2,截面面积0.0016m2,假定单元2、4、11分别发生20%、15%、10%的损伤。采样频率2000hz,竖向随机荷载作用在节点6,加速度计共8个,分别安装在节点2、5、7、9、10、12、17、18。
三种算法的参数设置为:钢桁架种群数n为40,最大迭代次数为gm=250,维度d取值30,变异算子f初值为0.5,交叉算子cr初值为0.3,开关概率p初值为0.8,感觉形态c初值为0.1,幂指数a初值为0.01。图4为添加0%,5%,10%高斯白噪声条件下的识别结果,图5为钢桁架结构在0%高斯白噪声条件下三个损伤单元的损伤因子进化识别曲线图。
本发明所提出的基于混合元启发式算法的钢桁架结构损伤识别方法,充分发挥了蝴蝶优化算法和差分进化算法的优点,平衡了全局搜索和局部搜索的关系,避免陷入局部最优,在计算精度和收敛速度上都表现出优秀的性能,在噪声环境下,本发明方法仍可以很好的识别钢桁架结构的多处损伤。