APP下载

基于蝙蝠算法的桁架结构优化

2022-12-11

工程与建设 2022年5期
关键词:测试函数杆件桁架

胡 克

(合肥工业大学 土木与水利工程学院,安徽 合肥 230009)

0 引 言

蝙蝠算法(bat algorithm,BA)是一种基于微型蝙蝠超声波回音定位特征的新型群体智能优化算法;全世界一共有超过一千种不同类型的蝙蝠,绝大多数蝙蝠都以昆虫类动物作为食物[1]。它们能够发出高频的超声波脉冲,并听到从周围物体反射的回声。依据回声定位这种独特的功能,蝙蝠个体能够识别不同种类的猎物并判断距离的远近;这可以帮助它们更好地捕食猎物和躲避天敌,甚至可以让它们在黑暗环境中的陡峭悬崖上找到栖生地。近年来,有关蝙蝠算法的研究在工程优化领域中得到了广泛的应用。赖锦辉[2]采用蝙蝠算法来优化无线传感器的网络节点定位,减小了平均定位误差,提升了定位精度。陈媛媛等[3]在蝙蝠算法中引入莱维飞行策略,再进行离散化改进,并将其用于红外光谱特征选择的问题;经实验发现蝙蝠算法能有效提升波长选择的准确性和稳定性。李玉虎等[4]将蝙蝠算法与最小二乘法的孪生有界支持向量机相结合,对桥式起重机的主梁进行了轻量化研究。丁芳等[5]利用蝙蝠算法去优化粒子群算法,并对飞机地面的空调系统进行了优化仿真,试验结果表明温控系统的动态性能得到了明显的增强。吴忠强等[6]使用蝙蝠算法去识别永磁同步电机的多个参数,并很好地实现了对电机运作状态的监控。朱兴统[7]采用蝙蝠算法优化相关向量机,然后对轴承故障进行辨析,发现该方法的诊断准确率非常高。李帆等[8]使用离散蝙蝠算法对柔性作业车间调度问题进行优化求解,有效增强了车间的调度水平及精度。杜健健等[9]将蝙蝠算法应用到多种无人机协同侦查的规划问题当中,并与其他传统智能算法优化结果进行对比;发现蝙蝠算法稳定性更好,处理速度更快。为了使蝙蝠算法能够更好地应用到工程优化领域当中,本文先使用单峰和多峰基准测试函数来验证蝙蝠算法的优化性能;再以空间二十五杆桁架结构作为优化模型进行迭代求解,验证了蝙蝠算法作为一种高效的群体智能优化算法在多变量离散优化问题中的良好性能。

1 蝙蝠算法简介

蝙蝠算法是通过观察自然界中微型蝙蝠发射超声波的特性进而研究出的一种生物启发式算法,由学者杨新社于2010年提出[10]。为了将自然界中蝙蝠的生存行为抽象成数学模型,必须设置以下理想化的条件。第一,所有的蝙蝠个体均通过回声定位的特征去判断食物和阻碍物体之间的细微差别。第二,蝙蝠以特定速度和固定的频率进行随机运动,它们会根据自身与食物的距离大小自动调整超声频率。第三,蝙蝠的音量随迭代次数的增加会逐渐从一个较大的正数过渡到一个较小的正数。在满足这些假设情况之下,蝙蝠算法的基本执行步骤可描述如下:

首先,在d维搜索空间内以随机分布的方式产生一组初始解,然后设定以下算法参数的初始值:最大超声波音量A0、最大脉冲发射率r0、音量衰减因子α、脉冲发射率增强因子γ和频率系数fi。

fi=fmin+(fmax-fmin)β

(1)

(2)

(3)

式中:fmin和fmax为蝙蝠超声频率f的下界和上界,取值分别为0和1,它主要控制蝙蝠移动的步长大小;β为一个服从均匀分布的随机向量;上标t为当前迭代次数;下标i为蝙蝠个体的编号;x*为当前蝙蝠群体的全局最优位置,它是通过对所有蝙蝠搜索到的解进行比较而得到的坐标值。

对于局部搜索部分,一旦从当前最优解当中选择了一个解,那么每只蝙蝠都要按照随机游走的法则产生一个局部新解:

(4)

式中:ε是均匀分布在[-1,1]区间上的一个随机数;At是所有蝙蝠在同一时间段的平均音量值。另外,蝙蝠群体的音量Ai和脉冲发射率ri将通过下列公式进行迭代更新

(5)

(6)

最后,对种群中所有蝙蝠个体的适应度函数值按照从大到小的顺序进行排列以找到全局最优解及其相对应的位置坐标。

2 桁架结构优化

为了验证蝙蝠算法的准确性和高效性,首先使用测试函数进行性能测试,再以杆件的截面积作为优化变量,分别对十杆平面桁架结构和二十五杆空间桁架结构进行尺寸优化。首先对蝙蝠算法的初始参数,种群规模和总迭代次数进行设定。

蝙蝠算法(BA)的参数大小设置如下:最大超声响度A0= 0.75;最大脉冲发射率r0= 0.1;音量衰减因子α= 0.9;脉冲发射率增强因子γ= 0.9。蝙蝠种群规模为N=50,最大迭代次数T=500。

2.1 函数算例

为了检测蝙蝠算法寻优能力的好坏,需要先使用函数算例对蝙蝠算法的收敛精度和抗干扰能力进行测试。本文将分别选取一个单峰基准测试函数和多峰基准测试函数作为算例;对于单峰测试函数,其只有唯一的全局最小值但没有局部极小值,它主要是用来测试算法的收敛精度。而对于多峰测试函数,其拥有多个局部极小值,寻优较为困难;因此主要用于测试算法的鲁棒性强弱。测试函数的名称、表达式等具体信息见表1。

表1 基准测试函数表

接下来使用蝙蝠算法进行优化;对每个函数都进行30次的独立实验,测试结果见表2,表中记录了测试函数的平均优化精度及算法运行的平均时间。由表2可知,对于Sphere单峰测试函数,蝙蝠算法平均用时为2.851 3 s,平均优化精度达到了7.879 2×10-18;算法精度较高,收敛速度较快;表明该算法收敛能力较强。而对于Alpine多峰测试函数,蝙蝠算法平均用时3.368 1 s,平均精度达到2.491 8×10-10;算法能在较短时间内跳出局部最优解,表明其拥有较强的抗干扰能力。在测试了蝙蝠算法的性能之后,现将该算法应用于桁架结构的尺寸优化中。

表2 函数测试结果

2.2 十杆平面桁架尺寸优化及结果分析

十杆平面桁架结构如图1所示,图中标注了该平面桁架的所有杆件编号和节点编号,同时还展现了桁架的尺寸信息。设定组成该平面桁架的所有杆件的弹性模量均是E=68 948 MPa,所有组件材料的密度都为ρ=2.77×10-5kg/mm3,桁架的每个节点在二维平面方向上的最大容许位移均为±50.80 mm。所有杆件的最大容许应力值为±172.37 MPa,再将组成该平面桁架的十根杆件的横截面积作为优化变量,并对这十组变量按顺序进行编号,分别为A1~A10。接下来以该平面桁架的总体质量作为目标函数,其对应着算法中个体粒子的适应度函数值;然后应用蝙蝠算法来求解受位移和应力双重约束的平面桁架尺寸优化问题。该十杆平面桁架的荷载工况已在图1中标明;节点2和节点4分别承载着沿Y轴负方向的荷载,其力的大小为P=444.82 kN;将构成平面桁架杆件的横截面积作为优化变量,这些变量都将从以下离散空间S1中进行选取,其中S1={1 045.16, 1 161.29, 1 283.87, 1 374.19, 1 535.48, 1 690.32, 1 696.77, 1 858.06, 1 890.32, 1 993.54, 2 019.35, 2 180.64, 2 238.71, 2 290.32, 2 341.93, 2 477.41, 2 496.77, 2 503.22, 2 696.77, 2 722.58, 2 896.77, 2 961.28, 3 096.77, 3 206.45, 3 303.22, 3 703.22, 4 658.06, 5141.93, 7 477.40, 8 709.66, 8 967.72, 9 161.27,9 999.98, 10 322.56, 10 903.20, 12 129.01, 12 838.68, 14 193.52, 14 774.16, 17 096.74, 19 354.80, 21 612.86} (mm2)。

图1 十杆平面桁架

应用蝙蝠算法(BA)对十杆平面桁架进行质量优化,并绘制该桁架结构的质量优化迭代曲线,如图2所示 其中横轴表示整体迭代次数,纵轴则代表桁架所有构件的总体质量大小。

图2 十杆桁架质量优化迭代曲线

由图2可知,应用蝙蝠算法对十杆平面桁架结构进行优化的过程中间,迭代前期算法收敛很快,表明蝙蝠算法有着较好的收敛能力;同时由迭代曲线图可知,迭代次数在360代时,曲线达到稳定状态,表示蝙蝠算法已经收敛完成。另外优化前后各杆件的横截面积对比,优化前后十杆桁架的质量大小比较及优化前后桁架的最大位移和应力对比见表3。

表3 优化前后杆件横截面积及平面桁架质量对比

由表3可知,优化前十杆平间桁架的总质量为3 625.09 kg,经优化后桁架的总质量降到了2 500.58 kg,总质量减轻了1 124.51 kg,优化率为31.02%;且优化后桁架在荷载工况下节点的最大位移为50.60 mm,没有超过最大容许位移;桁架杆件的最大应力为107.61 MPa,也没有超过最大容许应力。因此,该十杆平面桁架经过蝙蝠算法优化之后,既保证了结构整体的安全性,又极大降低了桁架的总体质量。

2.3 二十五杆空间桁架尺寸优化及结果分析

二十五杆空间桁架结构如图3所示,图中展示了该空间桁架的节点编号,不同的杆件编号以及桁架各部分的尺寸数据。假设构成该空间桁架的所有构件的弹性模量均是E=68 948 MPa,并且材料的密度都是ρ=2.77×10-5kg/mm3,所有节点在空间三个维度的方向上受到的位移约束均为±8.89 mm。所有构件的应力约束为±275.79 MPa,现将该桁架结构的二十五根杆件的横截面积作为自变量,并在图中以不同的颜色进行区分;将其划分为8组:① A1;②A2~A5;③A6~A9;④A10~A11;⑤A12~A13;⑥A14~A17;⑦A18~A21;⑧A22~A25。同时以桁架的总质量作为目标函数,使用蝙蝠算法对带约束条件的空间桁架的质量进行优化。该空间桁架的荷载工况见表4,将桁架的横截面积作为优化变量,并从以下离散空间S2中进行选取,其中S2={64.52, 129.03, 193.55, 258.06, 322.58, 387.10, 451.61, 516.13, 580.64, 645.16, 709.68, 774.19, 838.71, 903.22, 967.74, 1 032.26, 1 096.77, 1 161.29, 1 225.80, 1 290.32, 1 354.84, 1 419.35, 1 483.87, 1 548.38, 1 677.42, 1 806.45, 1 935.48, 2 064.51, 2 193.54}(mm2)。

图3 二十五杆空间桁架

表4 二十五杆空间桁架荷载表

使用蝙蝠算法(BA)对二十五杆空间桁架进行质量优化,并记录该桁架结构的质量优化迭代曲线,如图4所示;其中横轴代表总体迭代次数,纵轴代表桁架的质量。另外,优化前后不同组分杆件的横截面积对比,优化前后该桁架的质量大小比较、优化前后桁架构件的最大位移和应力对比均见表5。

由图4可知,蝙蝠算法在对二十五杆空间桁架结构进行迭代优化的过程中,其前期收敛速度较快,反映出该优化算法收敛能力较强;同时通过观察算法的迭代图像,可以得知蝙蝠算法能够在较少的步数之内跳出局部最优陷阱,这反映出蝙蝠算法有较好的鲁棒性和稳健性。到300代左右迭代曲线达到稳定状态,表明算法已经完成收敛。

图4 二十五杆桁架质量优化迭代曲线

表5 优化前后杆件横截面积及空间桁架质量对比

由表5可知,在优化之前,该二十五杆空间桁架的总体质量是277.92 kg,经过优化之后,桁架的总体质量减轻到了221.08 kg,总质量减轻了56.84 kg,优化率为20.45%;且优化之后桁架在承受外力荷载时节点的最大位移为8.88 mm,虽很接近位移限制边界但仍在容许位移范围之内;桁架内部杆件的最大应力为64.49 MPa,没有超过最大容许应力。因此,该二十五杆空间桁架经过蝙蝠算法优化之后,在保证了结构的安全性和稳定性的前提下,又大大降低了桁架的整体质量,达到了桁架轻量化的目的。

3 结束语

本文使用蝙蝠算法对十杆平面桁架和二十五杆空间桁架结构的构件进行了截面尺寸优化,经过程序计算,其结果表明,蝙蝠算法收敛速度较快,优化效果显著,优化效率较高。通过对平面和空间桁架算例的探究和分析,验证了蝙蝠算法作为一种性能优良的群体智能算法,在针对受位移约束和应力约束条件下的多变量离散化桁架优化问题方面的有效性。进一步的研究工作是将蝙蝠算法应用于更复杂的实际工程桁架优化问题,以实现更多结构的轻量化和省材节能的目标。

猜你喜欢

测试函数杆件桁架
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
基于结构设计竞赛的纸质杆件极限承载力影响因子分析
关于钢结构桁架安装施工工艺的研究
某大型钢结构厂房桁架制作
仅考虑自重的细长受弯构件是否需满足长细比要求的研究
基于自适应调整权重和搜索策略的鲸鱼优化算法
空间桁架杆件与球节点的机器人双臂柔顺装配
市政工程冬季施工桁架暖棚安装与耗热计算
不同桁架形式的性能比较