康俊涛,齐凯凯,张亚州
(武汉理工大学 土木工程与建筑学院,湖北 武汉 430070)
作为中大跨径桥梁的优选桥型,近年来斜拉桥在我国得到了快速的发展,建成和在建的斜拉桥数量逐渐增多。斜拉桥属于悬索结构体系,斜拉索的索力对结构的应力分布起着关键作用,然而以经验为主的索力确定方式无法保证成桥索力为最优方案。采用智能优化算法,将桥梁的应变能,节点位移等作为目标函数进行优化,以此得到受力更加合理的索力,这种索力优化方法近年来得到了快速发展,一些学者也采用这种方法得到了良好的效果[1]。孙全胜[2]等将影响矩阵法应用到某非对称独塔斜拉桥索力优化中,优化后的索力可有效减小主梁跨中与主塔根部的弯矩值,改善了结构的受力性能。吴霄[3]等采用改进遗传算法对九江二桥进行索力优化,结果表明该方法适用于多约束与多目标值的索力优化。M.M.Hassan[4]等采用b样条曲线进行建模,在遗传算法基础上,采用优化张拉函数的方式,提高了索力优化的精度与速度。陈志军[5]等利用粒子群优化算法寻求独塔斜拉桥的最优成桥索力,索力优化后主梁线型更合理,索力分布更均匀。
相比于中小跨径的桥梁,大跨径斜拉桥往往具有更多的斜拉索,因此,大跨径斜拉桥的索力优化往往属于高维优化问题,而常用的标准智能优化算法在高维问题上往往表现不佳。为解决这一问题,一些学者提出了改进或者新的算法,如量子粒子群算法[6],猴群算法[7]等。猴群算法作为一种求解高维、多峰优化问题的智能优化算法,其已经应用在桥梁结构的模态识别[8]、健康监测[9]、模型修正[10]等领域,并取得了良好效果。
本文将猴群算法应用于斜拉桥索力优化问题中,并针对标准猴群算法存在的搜索冗余、高维搜索时易陷入局部最优的问题,提出了基于距离矩阵的信息交流机制,以此提高搜索效率,提高寻找到全局最优的概率。在采用数值算例验证算法有效性的基础上,将其应用于一座大跨度双塔双索面混合梁斜拉桥中;在充分考虑混合梁斜拉桥特点的基础上,以主梁弯曲应变能、主塔拉压应变能以及主梁钢-混结合段弯矩值为优化目标,采用信息共享猴群算法对其进行成桥索力优化。
桥梁结构弯曲应变能的大小可以充分体现桥梁受力状态的合理与否。斜拉桥主要是由受压的主塔、受弯的主梁和受拉的斜拉索3部分组成,同时考虑到混合梁斜拉桥的结构特点,将主梁的弯曲应变能、主塔的拉压应变能和钢-混结合处的弯矩限值作为优化目标[11]。
在有限元计算模型中,将桥梁结构离散为若干单元,则桥梁的弯曲应变能就转变为各个离散单元的弯曲应变能之和,如式(1)所示。
(1)
式中:φ1、φ2分别为考虑主梁与主塔应变能的加权值;li、Ai、Ei、Ii分别为第i个单元的长度、截面积、弹性模量和惯性矩;NLi、NRi、MLi、MRi分别为第i个单元左右端轴力和弯矩。
钢混结合处的弯矩值为:
(2)
式中:Mgi为钢混结合段处第i个单元在自重下的弯矩;{x}={x1,x2,…,xn}为斜拉索初张拉力,n为拉索数量;[Mi]是单位索力作用下结合段单元i的弯矩影响矩阵。
为保证索力优化过程中桥梁结构处于合理受力状态,综合考虑混合梁斜拉桥的受力特点,选取主梁与桥塔的位移作为约束条件[12],如式(3)所示。
(3)
式中:{Dz}、{Dv}、{Dh}分别为恒载作用下主梁竖向、桥塔横向和桥塔纵向节点位移列阵;[δz]、[δv]、[δh]分别为主梁竖向、桥塔横向和桥塔纵向节点位移影响矩阵;{Dzlim}、{Dvlim}、{Dhlim}分别为主梁竖向、桥塔横向和桥塔纵向节点位移限值。
猴群算法属于一种生物启发式算法,它将猴群中占领最高山峰比拟为寻找到目标函数的最优解,通过模拟猴群中的攀爬、瞭望、空翻等行为来提高猴群所处位置的高度,而猴群所处位置的高度可以等效为目标函数值。对猴群算法的3种行为及其数学化模型介绍如下[7]:
a.猴群算法的基本假设。
在猴群算法的数学模型中,每只猴子被定义为问题的一个解;数学问题中优化参数的可行域被定义为猴群的活动范围;猴群所处位置的高度为目标函数的值。
b.爬过程。
在自然界中,猴子为了得到更好的资源,如视野、食物等,会往所在山头的山顶攀爬,自然界中猴子可以容易地感知当前所处位置的梯度信息,从而选择爬到山顶的最佳路径。然而数学模型中,要优化的问题属于黑盒模型,即可以得到所在点的适应度,而较难获得其梯度信息,因而在算法中往往采用往各个维度上移动一个小量的方式得到近似梯度。在猴群算法中,猴子通过伪梯度获取下次攀爬的方向,很大程度上缩减了因计算梯度消耗的计算时间,尤其是在高维问题中[13]。
在猴群算法中,伪梯度的获取方式如下:
(4)
其中,j为问题的第j个维度;a为爬步长;rand为0~1之间的随机数。
(5)
(6)
如果Y在可行域内,则用Y替换Xi,否则保持原来的Xi位置不变。
重复以上步骤,直至达到爬步骤的迭代终止条件,终止条件的设置方式有:达到最大迭代次数,目标函数值达到设定值,或者猴子在一定迭代次数内不再进化或进化速度小于设定值。
c.望-跳过程。
当猴子爬到所在山头的山顶之后,会向四周张望,以观察附近四周是否有更高的山头。由于猴子的视野有限,无法获得定义域内所有位置的信息。如果存在更高的山峰,则转移到该位置,对新的区域进行探索。
猴群望-跳寻找新区域的过程可以用下式进行描述:
Y=rand(Xi-b,Xi+b)
(7)
在猴群的视野范围[Xi-b,Xi+b]内寻找新的位置,其中rand为随机数生成函数。
然后判断生成的Y是否位于可行域内并且满足Y处的目标函数值比当前点更优,则将Y替换当前点;两个条件不满足任意一个,则继续在视野范围内生成随机点,直至满足两个条件。
d.空翻过程。
猴群到达山顶后,除了会瞭望附近更高的山峰,还会空翻至邻近区域,然后对新的区域进行探索,以增加找到可行域内最高山峰的概率。空翻过程属于对未知领域的探索过程,因此相较于望-跳过程,该过程只需要空翻的位置在可行域内即可,并不要求空翻的位置目标函数值优于当前点。
猴群采用如下方式空翻至新位置:
确定当前猴群的重心P:
(8)
其中,M为猴群中猴子的总数。以P为支点,空翻至新的位置Y:
Y=Xi+α(P-Xi)
(9)
其中,α为空翻的控制参数,α=rand(c,d),c和d为空翻上的下界。如果Y位于可行域内,则将Y替换Xi,否则重新生成Y,直至生成满足条件的Y。
标准猴群算法的流程如图1所示。
图1 标准猴群算法流程图
从标准的猴群算法中可以看出,猴群内不同的个体之间不存在信息交流,仅在空翻过程中,在计算空翻支点时提供一个分量,每只猴子在自己的山头进行探索,这样一方面会导致计算资源的浪费,猴群中每个猴子对附近的猴子无法感知,无法将自己已经探索的区域信息分享给其他个体,从而降低了猴群的整体搜索效率。另一方面,由于猴群算法中个体之间无信息交流,因此在爬的过程中,可能存在多个猴子位于同一个区域,造成同一个区域被多个个体探索,且探索结果相同的问题,造成计算资源的浪费。为避免这一问题,现有算法多是采用减少猴子个体,从而避免多个猴子位于同一个区域内,然而由于猴群算法主要是为了解决高维问题,猴群数量过少对前期搜索速度影响不大,但是在算法的后期需要多次望、爬过程才能收敛到全局最优。
针对以上问题,本文提出了基于信息共享的改进猴群算法,在猴群迭代过程中,增加猴群间个体距离监控机制,根据猴群的聚集程度,适时地进行信息分享和猴子淘汰机制。
a.猴群距离矩阵
由于在猴群算法中,猴子的爬过程以及望过程中,个体行为仅与所处位置有关,因此当猴群中任意两个或多个猴子距离较近时,多个个体的前进方向类似,造成计算资源浪费。为了避免该情况的发生,采用距离矩阵对个体之间的相对关系进行监控,为后续行为提供依据。
(10)
其中,DM为猴群距离矩阵;DMij代表猴群中第i个猴子和第j个猴子之间的距离,通常可以用欧式距离、马氏距离或者余弦距离。本文选用耗时最少的欧式距离来判别个体之间的距离。其中,DM矩阵的对角元素均为0,因此在计算矩阵内最小元素时,将对角元素去除。
b.信息共享
标准猴群中,空翻时全部个体的空翻支点相同,这样导致两个位于支点两侧的个体存在交换位置的可能,如图2所示,1号个体和2号个体位于重心两侧,因此在空翻过程中,两个个体的行进方向一致,如果两个个体行进至相同位置或者交换位置则造成重复搜索,或者两个个体共同搜索一个位置,造成冗余。因此,本文提出在空翻过程中增加位置矩阵(见公式11),共享位置搜索信息,当信息相同或者相近时,根据个体表现,选择进入后续程序的个体,而其他个体进入冬眠阶段,节省计算资源。
图2 标准猴群算法中空翻示意图
(11)
其中,S为空翻信息矩阵;Sij为猴群中第i个个体和第j个个体的望过程位置之间的距离。当S矩阵内任意一个值小于设定值时,则判定望过程搜索存在冗余,根据冗余位置,选择合适的个体对该位置进行探索。本文选择在上一步迭代时,距离该位置较远的个体对该区域进行探索(进行后续的爬程序),这样是为了增加个体探索范围,同猴群距离矩阵,空翻信息矩阵的对角元素也全为0,在计算时,应将其排除。
c.猴群数量消减
在高维问题中,猴群数量的增加有助于提高找到全局最优的概率,但是在算法迭代后期,过多的个体并不会提高解的精度,如图3所示。因此,本文根据个体的聚集度来判断迭代程度,当多个个体之间的距离小于设定值时,则计算多个个体的重心,然后将距离最近的个体保留,其他个体遗弃。
图3 猴群位置与猴群重心关系示意图
基于信息共享猴群算法增加了距离矩阵和个体空翻信息矩阵,并根据这两个矩阵来对个体的数量以及迭代方式进行调整,从而达到节省计算资源和提高算法寻优精度的目的,改进后的算法流程如图4所示,具体步骤如下:
Step1:在可行域内初始化一群个体,由于在后续的算法流程中有种群缩减流程,因此该步骤中可以增加种群数量,这样并不会明显增加计算时间,但会提高找到全局最优的概率;
Step2:猴群进行爬过程,这一步骤同标准猴群算法相同;
Step3:猴群进行望过程,这一步骤同标准猴群算法相同;
Step4:根据个体之间的DM距离矩阵,选择淘汰的个体,将其从猴群中去除,然后选择剩余个体进入下一步骤;
Step5:选择猴群中剩余个体进行爬过程;
Step6:根据个体所处位置及对应目标函数值,判断是否满足迭代终止条件,如果是,则终止迭代,输出结果,否则进入空翻过程;
Step7:根据猴群所处位置以及设定的空翻界限,对剩余的每个猴子进行空翻过程;
Step8:根据上一步骤的空翻位置,分析S矩阵,然后选择进入下一步骤的个体;
Step9:重复Step2-Step8,直至满足迭代终止条件。
图4 信息共享猴群算法的流程图
为检验改进算法的有效性,采用单峰值函数来验证算法的寻优速度和寻优精度,采用高维多峰值函数来验证算法跳出局部最优寻找全局最优的能力,所选取的函数如表1所示,具体的算法设置见表2。
表1 测试函数的基本信息表Table1 Basicinformationoftestfunctio函数名称函数表达式维度搜索范围最优值Rosenbrockf1x()=∑N-1i=1[(1-xi)2+100(xi+1-x2i)2]30[-5,10]f11,1,…,1()=0Spheref2x()=∑ni=1x2i30[-100,100]f20,0,…,0()=0Rastrginf3x()=∑ni=1[x2i-10×cos(2πxi)+10]30[-5.12,5.12]f30,0,…,0()=0Griewankf4x()=14000∑ni=1x2i- ni=1cosxii()+130[-600,600]f40,0,…,0()=0Ackleyf5X()=-20×exp-0.2×1S∑Si=1x2i()-exp(1S∑Si=1cos2πxi)+20+e30[-32,32]f60,0,…,0()=0
表2 算法参数设置信息Table2 Parametersettingofthealgorithm算法变量值MAIMA初始猴群规模500500爬步长0.0010.001望-跳次数22空翻界限[-1,1][-1,1]两个个体之间允许最小距离/1e-3
两种算法各独立运行100次,统计其在每个测试函数上的表现,如表3所示。
分析可知,相比于标准猴群算法,增加距离矩阵和信息交流机制的改进猴群算法运行时间变化不大,但在均值和寻找到的最优解上均表现更好。在单峰值函数Sphere上,两种算法的寻优结果十分接近,但信息共享猴群算法的计算时间更少,这是由于在单峰值问题中,多个个体之间的距离过近,导致一些个体被消减,从而减少了运行时间。在多峰值问题中,由于信息共享猴群算法提高了个体的利用率,使得冗余情况得到了很好的改善,从而寻找到了更优的解。
表3 两种算法在不同函数上的测试结果对比Table3 Comparisonoftestresultsoftwoalgorithmsondifferentfunctions函数最优解均值时间MAIMAMAIMAMAIMARosenbrock9.42e35.56e-16.53e48.76e12.792.98Sphere6.21e-129.25e-163.55e-76.28e-152.362.54Rastrgin8.72e29.87e-36.27e8695.87e-22.712.16Griewank2.54e31.54e17.09e38.20e04.154.84Ackley3.87e22.09e-32.68e49.27e-13.503.45
图5 全桥总体布置图
以某主跨926 m的双塔双索面混合梁斜拉桥为研究对象,该桥全长1 476 m,桥跨布置如图5所示。其中边跨采用混凝土箱梁,中跨为钢箱梁,钢-混结合段位于中跨距桥塔12.5 m处。全桥共设置240根斜拉索,采用双索面扇形形式布置。桥梁横断面如图6所示。
图6 桥梁横断面布置图
采用ANSYS建立全桥三维有限元模型,全桥共有1 135个节点,1 894个单元,其中主塔、主梁和桥墩选用Beam188单元模拟,斜拉索选用Link10单元模拟。采用节点耦合的方法对斜拉索与主塔和主梁间的连接进行模拟,同时考虑结构恒载的几何刚度,有限元模型如图7所示。
图7 桥梁结构有限元模型
全桥共有240根斜拉索,由于结构和荷载均为对称结构,因此取四分之一结构,60根斜拉索进行优化,而优化60个参数属于高维问题,常规优化算法无法找到全局最优解,因此采用信息共享猴群算法进行索力优化,测试算法在实际工程中表现。
在优化目标中,加权值φ1、φ2分别取1.0、0.8;约束条件中,主梁竖向、桥塔横向和桥塔纵向位移限值分别取300、200、250 mm,算法参数设置信息见表2。
同时采用标准猴群算法(MA)和信息共享猴群算法(IMA)进行成桥索力优化,优化结果如图8与图9所示。
图8 优化前后主梁弯矩值变化对比
图9 优化前后主塔弯矩值变化对比
从图中可以看出,索力经过优化后,主梁弯矩具有明显的下降,并且IMA算法的优化结果优于标准MA算法,表明增加信息交流机制后,算法能跳出一些局部最优。经过IMA优化后,结构的主梁弯曲应变能降低了43.2%,结构受力更加合理。钢-混结合处的的弯矩值下降了18.6%,对于混合梁斜拉桥而言,此处的受力较为复杂,因此,降低钢-混结合段的弯矩,可以有效提高桥梁结构的安全性。且由于将塔顶的水平位移作为控制指标,因此主塔的弯矩值下降更为明显。
为使得大跨径混合梁斜拉桥受力更加合理,提出了以全桥应变能与钢-混结合段处的弯矩作为优化目标,以群智能优化算法为手段的斜拉桥索力优化方案,针对问题的高维特性,采用了对高维问题具有良好效果的猴群算法,并针对猴群算法中存在的搜索冗余问题采取增加信息交流机制进行改进,并采用数值算例验证了改进后信息共享猴群算法的可行性,然后将其应用于实际工程案例,对比分析结果,主要得出以下结论:
a.在猴群算法中增加信息交流机制后,算法在单、多峰值寻优问题中均表现更优,寻优精度得到了很大的提升,同时由于减少了计算冗余,因此即使增加了距离判断等计算步骤,总的计算时间与标准猴群算法相近。
b.经过索力优化,全桥应变能下降了43.2%,主塔的最大弯矩由12.8×108kN·m降低到了3.5×106kN·m。可见优化后的结构受力更加合理,主要承受压力的主塔的最大弯矩值明显下降,提高了结构的安全性。