邹旭东 雷建平
(武汉理工大学交通学院 武汉 430063)
桥梁的初始有限元模型依据设计参数建立,通常与其实际工作状况存在较大的误差。为此,通过模型修正得到一个能够真实反映桥梁结构静、动力特性的有限元模型,为结构的安全评估及健康监测提供科学依据[1]。传统的模型修正方法需要大量的原始数据进行迭代计算,且容易出现矩阵病态问题,求解效率较低。近年来,基于仿生学的优化算法发展迅速,为桥梁结构的有限元模型修正提供了一种新思路。
粒子群算法的基本思想起源于J.Kennedy和R.Eberhart对鸟群觅食行为的研究。该算法具有结构简单、容易实现、鲁棒性强等优点,在模型修正领域得到了广泛的应用[2-4]。虽然粒子群算法的随机搜索能力很强,但同时也存在易早熟收敛等缺点。为此,众多学者在算法改进方面做了大量研究,提出了许多改进粒子群算法[5-7],以增强算法的全局性搜索能力。
本文提出了基于混合粒子群优化算法的桥梁有限元模型修正策略。首先对标准粒子群算法采取自适应动态惯性权重策略改进,并引入差分进化算法以并行的方式进行混合优化;然后在模型修正中引入混合粒子群算法以修正模型的参数;最后通过某简支梁数值模型的修正来验证该算法的有效性。
1.1.1标准粒子群算法基本原理
在标准粒子群算法中,每个粒子的位置分别代表该优化问题的某个潜在最优解。粒子的性质由粒子的位置、飞行速度和适应度值3项指标确定[8]。其中,粒子适应度值是评判该粒子优劣程度的标准。每个粒子在可行解空间范围内进行搜索时,通过个体极值和群体极值进行比较来更新自身的位置。粒子每次位置更新都需要重新计算粒子适应度值,并更新个体极值和群体极值的位置。
假设粒子群的粒子总数为M;优化问题可行解空间U的维度为N。则初始化的粒子种群可表示为:X=(X1,X2,…,XM)。其中Xi=(xi1,xi2,…,xiN)T表示第i个粒子(i=1,2,…,M)在解空间U内的位置。每个粒子Xi的适应度值则由该优化问题的目标函数来计算。粒子的速度可表示为Vi=(vi1,vi2,…,viN)T;个体极值可表示为Pi=(pi1,pi2,…,piN)T;群体极值可表示为Pg=(pg1,pg2,…,pgN)T。
在每次的迭代计算过程中,粒子的速度和位置更新算式如下。
(1)
(2)
式中:w为惯性权重;n=1,2,…,N;i=1,2,…,M;t为当前迭代次数;Vin为粒子的速度;c1和c2为加速度因子;r1和r2为区间[0,1]内的随机数。
1.1.2标准粒子群算法改进
在粒子群算法中,若惯性权重取值较大时,算法的全局探索能力显著提升,搜索效率提高。反之,惯性权重越小,粒子的局部开发能力越强,算法的收敛速度加快。为提高算法的性能,本文采用自适应动态惯性权重策略对标准粒子群算法进行改进。将每一代的粒子按适应度值从优到劣排列,则排在第i位粒子的惯性权重的表达式为
wi=wmin+(wmax-wmin)(M-i)/(M-1)
(3)
加速度因子的表达式为
(4)
式中:wmin和wmax为预设的最小和最大惯性权重,本文中wmin取0.4,wmax取0.9。
差分进化算法的基本思想是通过差分变异、交叉形成新的子代个体;然后基于“贪婪选择”机制一对一筛选父代与子代中的优质个体组成新的种群。
1.2.1变异操作
差分进化算法的变异操作是通过任意2个或多个向量的差分信息来改变随机选定的目标向量中的某些数值,变异公式为
(5)
式中:r1,r2,r3为种群中任意3个不同个体的编号;F为缩放因子。
1.2.2交叉操作
(6)
式中:Cr为交叉概率;j=1,2,…,N;jrand为[1,N]区间内的随机整数。
1.2.3选择操作
(7)
仅采用改进粒子群算法或差分进化算法在一定程度上仍存在易早熟收敛的问题,为此,本文将粒子群算法和差分进化算法以并行方式形成混合粒子群算法。混合算法将充分利用2种算法各自的优势,将种群分为2个相同大小的子群,命名为P群和D群,分别采用粒子群算法和差分进化算法更新种群。为提高算法的搜索效率,避免算法陷入局部最优而导致搜索停滞,在2个子群之间建立一种信息交流机制。即在每次种群粒子更新后,选取P群和D群最优粒子中适应度值较好的粒子来指导2个子群下一代粒子的进化。当粒子群算法陷入局部最优点时,D群中的最优粒子信息将引导P群中陷入局部最优的粒子偏离原来的搜索方向,逃离局部极值点以较大概率向全局最优极值附近靠近。
混合粒子群算法首先随机初始化2个大小相同的子群P和D。其中P群采用自适应动态惯性权重的粒子群算法更新下一代粒子的位置和速度;D群则采用差分进化算法更新下一代粒子的位置。同时,在2个子群间引入信息共享策略来共享每代最优粒子信息,提高算法的搜索效率,避免粒子陷入局部最优。
设Pi和Pg分别为P群第t代粒子个体极值和群体极值;Dg为D群第t代粒子的群体极值;G为整个种群的群体极值。混合粒子群算法的具体操作如下。
1) 设置混合优化算法的参数,并随机初始化2个大小相同的种群P和D。
2) 令t=0,计算2个种群所有粒子的适应度值。初始化P群粒子个体极值Pi、群体极值Pg、D群粒子的群体极值Dg和整个种群的群体极值G。
3) 根据方程(1)和(2)更新P群所有粒子的速度和位置,并更新Pi,Pg及其适应度值。其中,粒子速度更新采用的是整个种群的群体极值G。
4) 根据方程(6)~(8)对D群所有粒子进行变异、交叉、选择操作,并记录Dg及其适应度值。
5) 比较Pg和Dg适应度值的优劣,更新G及其适应度值。
6) 令t=t+1,检查算法是否满足终止条件。若满足终止条件,则结束迭代,输出粒子最优位置及其适应度值;若不满足,则转步骤(3)和(4)。
为验证本文基于混合粒子群算法的桥梁有限元模型修正方法的可行性,对某计算跨径为3 m的钢筋混凝土简支梁数值模型进行修正。简支梁的设计截面尺寸如图1所示,其中混凝土标号为C40,弹性模量3.25×104MPa,质量密度2 500 kg/m3。钢筋的弹性模量2.0×105MPa,质量密度7 850 kg/m3。
图1 简支梁模型示意图(单位:mm)
采用ANSYS建立简支梁的有限元模型,其中混凝土材料采用solid65实体单元模拟,钢筋材料采用link180杆单元模拟。初始有限元模型见图2。
图2 简支梁初始有限元模型
对上述初始有限元模型第2,4,7段梁的混凝土弹性模量折减20%,作为本次数值模拟的真值模型。
根据真值模型的挠度和频率计算结果来构造联合静、动力的目标函数,修正目标函数如式(9)所示。
(9)
根据经验法及灵敏度分析,选取混凝土弹模、钢筋弹模和混凝土密度作为本次模型修正的修正参数。其中混凝土弹模和密度作为局部变量处理,钢筋的弹性模量作为全局变量处理,共21个修正参数,参数的限值取参数设计值的±20%。
在MATLAB中采用混合优化算法对简支梁有限元模型的参数进行优化。在混合优化算法中,随机初始化2个规模均为50的种群,种群中每个粒子对应1个21维向量,每1维向量对应1个修正参数,迭代次数设为Tmax=500。
经过500次迭代,最终得到两种群中的最优粒子适应度值为8.72×10-5,修正后的有限元模型计算结果见表1。
表1 有限元模型修正前后结构计算响应对比
由表1可见,挠度计算结果的相对误差由修正前的7%左右降至2%以内,而频率计算结果的相对误差则由修正前的2%左右降低至1%以内,模型修正后的精度提升明显,说明了混合粒子群算法对结构有限元模型的修正是可行的。
本文在模型修正中引入混合粒子群优化算法修正模型参数,并采取自适应动态惯性权重策略改进,引入差分进化算法进行混合优化,改善算法的全局搜索能力。采用该方法修正后的简支梁数值模型计算精度提升明显,能够真实反映结构的静、动力特性,表明了该算法的有效性和可行性,为解决模型修正问题提供了一种新的思路。