遗传算法在结构损伤识别中的应用研究
- 格式:pdf
- 大小:485.49 KB
- 文档页数:6
遗传算法在结构损伤识别中的应用研究
袁 颖1,林 皋1,柳春光1,周爱红2
(1.大连理工大学海岸和近海工程国家重点实验室,大连116023;2.北京交通大学土建学院,北京100044)
摘要:结构损伤识别是结构系统在使用期间进行监测和维护的重要组成部分,而基于动态测试技术的结构损伤识别方法又是近来研究的热点。本文提出了一种基于改进遗传算法的结构损伤识别方法,主要改进包括:浮点编码、基于标准化几何分布排名的选择策略、最优保存策略、算术交叉算子、非均匀变异算子。在常规模态分析的基础上,以节点的残余力向量构造目标函数,提出了一种用于遗传搜索优化的新的目标函数形式。利用遗传算法重点进行了噪声条件下的结构损伤定位和定量研究,并用一平面桁架模型进行了数值模拟。结果表明:提出的方法不仅能够同时进行结构的损伤定位和定量计算,而且抗噪性能很好。最后,对方法应用中存在的一些问题进行了深入分析,给出了一些有益的结论。
关键词:损伤识别;残余力向量法;噪声;遗传算法中图分类号:TU312 文献标识码:A 文章编号:1672-2132(2005)04-0369-06
0 引言
土木工程结构在长期使用过程中,难免会发生各种损伤。损伤的原因可能是使用、维护不当等人
为因素,也可能是强震,台风,腐蚀,疲劳等自然灾害
或老化。这些因素均导致了结构承载能力和耐久性
的降低,甚至影响到正常使用和运营安全。因此,从安全性和正常使用的角度考虑,定期对它们进行损
伤检测和健康监测就显得格外重要。而结构损伤识
别技术是其中最为关键性的环节。结构损伤识别属于结构工程中的反问题,需要解决3类问题:第一,
判断结构有无损伤;第二,确定结构的损伤位置;第
三,确定结构的损伤程度[1]。
近年来,利用结构的振动测试数据进行损伤识别的研究是热点和难点问题,学者们对之多有研
究[2,3]。基于结构振动测试的损伤识别方法的基本
原理是:结构的模态参数(模态频率、模态振型等)是
结构物理特性(质量、刚度和阻尼)的函数,结构物理特性的变化将直接反映模态参数的改变,进而识别
损伤。比如,刚度的降低将导致模态频率的降低和
模态振型的变化。
自20世纪60年代,美国Michigan大学的Hol-
land教授[4]给出了遗传算法的基本定理及数学证明以来,遗传算法越来越成为人们解决复杂问题的一种有效方法。目前已被广泛应用于如函数优化、自
动控制、图像识别、机器学习、人工神经网络、分子生
物学、优化调度等实际问题中。遗传算法是模拟生物在自然环境中的遗传和进
化过程而形成的一种自适应全局优化概率搜索算
法。其基本原理是:从随机生成的初始可行解出发,
利用复制、交叉、变异等操作,遵循优胜劣汰的原则,不断循环执行,逐渐逼近全局最优解。与传统优化
算法不同,遗传算法的计算比较灵活,主要表现在编
码方式、遗传算子和控制参数的合理选取上,因为不同的编码方式、算子和参数的选取对遗传算法的优
化效率具有重要的影响。
1 遗传算法的改进
近年来,已有许多研究人员将遗传算法用于结
构的损伤评估[5~7]。但是还存在以下问题:(1)都是基于二进制编码的;(2)遗传算子的选取过于简单;
(3)求解效率和精度不高。针对具体问题,为了提高
遗传算法的搜索效率并保证得到问题的最优解,本
文采用如下技术对遗传算法进行了改进以提高遗传算法的性能。第25卷第4期2005年12月防灾减灾工程学报JournalofDisasterPreventionandMitigationEngineeringVol.25No.4Dec.2005
收稿日期:2005-05-16;修回日期:2005-06-09基金项目:地震学联合基金(102028)作者简介:袁颖(1976-),男,博士研究生。研究方向为结构损伤检测和健康监测。Email:yuanyingson@163.comDOI:10.13409/j.cnki.jdpme.2005.04.0041.1 设计变量采用浮点编码方案
在最优化问题中,常规编码是用二进制向量作为染色体表示设计变量的真实值,向量的长度依赖
于要求的解的精度。虽然二进制编码比较直观,但
在求解比较复杂的优化问题时显得过于繁琐。如果
优化函数的变量数目比较多,那么遗传算法的搜索空间就会很大,这会大大降低遗传算法的运行性能。
对于问题的变量是实向量的情形,可以直接采用浮
点数进行编码。浮点数编码使得问题的表达比较自然,可以更直接在解的表现型上进行遗传操作。浮
点数编码还能克服二进制编码的海明悬崖、精度要
事先确定、对于大规模问题位串长度太长等缺点。
已经有的基于遗传算法的损伤识别文献都是基于二进制编码方案的。由于在工程实际问题中,许
多模型的变量较多,精度要求高,这时使用二进制编
码,就显得不是很方便。考虑到实际问题的性质和遗传算子的设计,本文采用实数编码方案。Michele-
vicz[8]的研究表明,设计变量的浮点编码方案更接近问题的真实表达,而且精度更高,解的变化更具有连
续性。
1.2 采用基于标准化几何分布排名的选择策略
选择策略的基本思想是:优胜劣汰的选择机制
使得适应值大的解有较高的存活概率。当然,不同
的选择策略对于算法的性能也有较大的影响。选择策略的选取在遗传算法设计中是一个很重要的环
节,它对于算法性能的影响起着举足轻重的作用。
不同的选择策略将导致不同的选择压力,即下一代中父代个体的复制数目的不同的分配关系。较大的
选择压力使最优个体具有较高的复制数目,从而使
得算法的收敛速度较快,但是也容易产生过早收敛
的现象。较小的选择压力一般可以使群体保持足够的多样性,从而增大了算法收敛到全局最优的概率,
但是收敛速度就会减慢。一般遗传算法都是采用基
于适应值比例选择策略,这种选择策略需要对个体适应值进行标准化或调节,这样不仅计算繁琐而且
会降低群体的多样性,容易出现遗传停滞或早熟。
此外,遗传搜索过程的后期,绝大多数个体的适应值
与种群的平均适应值接近,此时按适应值比例选择的选择压明显不足,采样误差加大,难以使种群进化
过程向前推进。虽然引入适应值函数变换机制可增
加选择压,但增加了算法实现的复杂性和运行开销,
也不能消除发生早熟收敛的根源。因此,本文采用基于标准化几何分布排名的选择策略以避免这些现象的出现。其计算公式如下:pk=t(1-ps)N(k)-1,k=1,2,…,m(1)
式中 t=ps/[1-(1-ps)m],
N(k)是第k个个体的适应值在种群中按由
大到小排序的序号。
1.3 采用最优保存策略
迄今为止保留最优个体,保证其不被交叉和变
异等遗传算法破坏。遗传算法在运行过程中,通过对个体进行交叉、变异等遗传操作而不断地产生出
新的个体。虽然随着群体的进化过程会产生出越来
越多的优良个体,但由于选择、交叉、变异等遗传操作的随机性,也可能破坏掉当前群体中适应度最好
的个体。这不是所希望发生的,因为它会降低群体
的平均适应度,并且对遗传算法的运行效率、收敛性都有不利的影响。所以,希望适应度最好的个体要
尽可能地保留到下一代群体中。为了达到这一目
的,可以使用最佳个体保留策略来进行操作。基于
Markov链的数学理论分析表明,保留最优个体策略的遗传算法以概率1收敛于最优解。
1.4 采用算术交叉算子
在二进制编码遗传算法中,交叉算子是产生新
个体的主要方法,它决定了遗传算法的全局搜索能
力。但是在浮点编码方案中,交叉算子的作用远没有二进制编码时显得那么重要,故而采用何种交叉
算子及交叉概率大小对遗传算法的性能影响不是很
大。本文采用算术交叉算子。
1.5 采用非均匀变异算子
对于二进制编码而言,在遗传运算过程中产生新个体的能力方面,交叉算子是产生新个体的主要
方法,决定了遗传算法的全局搜索能力;而变异运算
只是产生新个体的辅助方法,但也是一个必不可少
的运算步骤,决定了遗传算法局部的搜索能力。在实数编码时,变异算子的作用不再像二进制编码时
仅仅是简单的恢复群体中多样性的损失。这时,它
已经变成一个主要的搜索算子。变异主要包括均匀变异、非均匀变异和高斯变异等。遗传算法常使用
的是均匀变异,均匀变异操作是取某一范围内均匀
分布的随机数来替换原有基因值,使得个体可以在搜索空间内自由移动。但是它却不方便对某一个重
点区域进行局部搜索。为了改进这个性能,引入非
均匀变异算子。其基本思想是:
设:p=(x1,x2,…,xk-1,xk,…,xm)是一个父代370 防灾减灾工程学报 第25卷 个体,分量xk被选为进行变异,其定义区间是[ak,
bk]则变异后的解为p′=(x1,x2,…,xk-1,xk′,…,
xm),其中
xk′=xk+Δ(t,bk-xk) if random(0,1)=0
xk+Δ(t,xk-ak) if random(0,1)=1
(2)
式中 Δ(t,y)(y代表bk-xk或者xk-ak)表示[0,y]
范围内符合非均匀分布的一个随机数,要求随进化代数t的增加,它接近0的概率也逐渐增加。它的定
义如下:Δ(t,y)=yr(1-t/T)λ(3)
式中 r为(0,1)范围内符合均匀概率分布的一个随机数;
T是最大进化代数;λ为作用系数,决定非均匀程度,起着调整局部搜索区域的作用,其值一般取为2~5。
该式强制逐代缩小变异的范围,以加强局部搜
索能力,大幅度提高计算的精度。λ越大,范围缩小程度越大,运算精度也越高。
非均匀变异可使得遗传算法在其初始阶段主要
进行均匀随机搜索,即全局搜索;而在其后期运行阶
段主要进行局部搜索,这时它产生的新基因值比均匀变异所产生的基因值更接近于原有基因值。所以
随着遗传算法的运行,非均匀变异就使得最优解的
搜索更加集中在一个重点区域内。
2 遗传算法目标函数的建立
为了把结构损伤识别当作优化问题来考虑,必
须定义用于遗传算法的目标函数。利用残余力向量
的基本概念,并考虑到后文将要讨论的问题,定义结构损伤识别优化问题如下:
求{α}=(T1,…,Tm)T,Ti∈[0,1],使得
max{Ti}F(T1,…,Tm)(4)
F(T1,…,Tm)=c0∑p
i=1Ri(T1,…,Tm)TRi(T1,…,Tm)+c1
(5)
式中 T1表示刚度折减因子;
p表示参与计算的模态数;
T表示转置;
c0是用于控制目标函数值的一个常数,其取
值要根据∑p
i=1Ri(T1,…,Tm)TRi(T1,…,Tm)的乘积结果确定。本文后面的算例中,用到了6阶模态参与计算,即p=6,故取c0=1015。结构处于无损状态时
∑p
i=1Ri (T1,…,Tm)TRi(T1,…,Tm)≈0,因此,c1是
用于控制这种理想状态的目标函数值的一个常数,
一般可取c1=1。Ri表示节点的残余力向量,其定义
如下[9]:
Ri=(Ku-λdiMu)Odi=(∑m
i=1TiKi-λdiMu)Odi
(6)
Ku、Mu分别为无损结构的刚度矩阵和质量矩阵,
λdi和Odi分别为结构损伤后的第阶固有频率和特征
向量;Ki表示第i个单元的扩展单元刚度矩阵,m表
示单元总数。
如果结构未发生损伤,那么,即满足特征方程;而如果某单元发生了刚度下降,那么这个单元相应
节点自由度的振型分量会发生较大变化,导致此自
由度相应的残余力较大,则Ri≠0,从而可识别结构
损伤位置。
3 数值算例
3.1 计算模型及基本假定
本文采用一五跨桁架桥模型进行了数值模拟。
桁架桥模型共有10个节点,20个单元,如图1所示。
结构的自由度数为17,每个单元的弹性模量E=2.1×1011N/m2,密度d=7800kg/m3,横截面面积A=