陆凤仪,任 重,徐格宁,董 青,徐 彤
(1.太原科技大学 机械工程学院,山西 太原 030024; 2.上海云童机械有限公司,上海 200126)
在结构优化设计中,通常将某一要求(如截面最小、质量最轻等)作为目标,使其在给定的约束条件下得到最优结果,如起重机一般将自重作为优化目标,通过优化截面尺寸实现减重目的.实现方法包括:准则法、数学归纳法、混合法等,传统方法伴随着设计周期长、结果偏大的问题,因此,现多采用启发式算法实现.
文献[1]利用改进人工蜂群算法对16 t/10.5~22.5 m桥式起重机主梁截面进行优化,提出了基于差分进化算法(Differential Evolution Algorithm,DE)的人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA),并引入遗传算法(Genetic Algorithm,GA)中的交叉、变异算子提高其全局收敛性.文献[2]利用改进微粒群算法(Particle Swarm Optimization,PSO)对32 t/25.5 m桥式起重机主梁进行优化,通过改进惯性权重、加速因子值使算法具有较好的全局、局部搜索能力.
虽然针对单一优化算法中存在早熟现象明显、收敛速度慢、寻优精度不足、对初始种群敏感等缺陷[3]提出过各种改进,但无法面面俱到,为此诞生了混合、并行算法.Hua等[4]提出一种结合GA和Levenberg-Marquardt(LM)的混合算法,充分利用了GA和LM的优点,分别抑制它们局部收敛不足、全局搜索能力差的特点,如图1(a)所示,其结果受GA生成的初始解影响,稳定性较差.Tang等[5]提出一种结合GA和模拟退火算法(Simulated Annealing Algorithm,SAA)的混合算法,将SAA嵌入GA交叉算子中,扬长避短,但两者均为基于概率机制的算法,如图1(b)所示,因此,稳定性方面较差.Farnad等[6]提出结合GA,PSO和共生生物搜索算法(Symbiotic Organisms Search,SOS)的混合算法,该算法分3个阶段:GA扩大种群数量并将最好种群传递给下一阶段,PSO通过自主学习使种群得到进化而后传递下一阶段,SOS通过优胜劣汰选择最优结果,如图1(c)所示,由于初始算法为GA,使得该算法具有一定的概率性.Tsoulos等[7]提出并行遗传算法,将一组工作划分成两小组,同时进行运算,如图1(d)所示.Orhan[8]开发了一种基于交叉和变异机制的混合蚁群算法,将遗传算法引入蚁群算法,解决了易陷入局部最优问题.
上述改进均将GA作为起始算法,初始解直接决定最后结果的精度,使得优化结果具有一定的概率性.因此,本文提出一种混行算法,如图1(e)所示,最大限度降低不确定结果出现的概率.
图1 国内外混合、并行算法框图Fig.1 Diagram of hybrid and parallel algorithm running at home and abroad
以“扬长避短”为理念,本文提出混行算法的概念.区别于混合、串行算法,混行是将串行与并行按照一定规则相结合,运算过程中分别利用串行、并行算法优势,达到“快、准、稳”的求解目标.
2.1.1GA
GA是一种模拟自然选择和生物进化的启发式算法,其中交叉算子提供全局搜索能力,变异算子提供局部搜索能力[9].为避免陷入局部最优,本文分别对交叉算子进行改进.
传统交叉算子采用随机选择父代染色体中几个基因起始位置(两染色体被选择位置、数量相同),然后交换两者位置,交叉即完成.这种交叉方式存在一定问题:简单随机重组可减缓搜索速度、出现局部收敛或早熟收敛等[10],所以设计了如图2所示的改进方法.父代染色体中随机生成发生交叉的基因个数(位置不连续),交换时采用随机生成的交叉顺序,可提高其全局收敛性.Matlab交叉算子改进部分程序如图3所示.
2.1.2AFSA
AFSA是一种通过人工鱼来模拟鱼群的觅食、聚群、追尾行为,达到寻优目标的启发式算法[11-12].以下为其几种典型行为:
(1) 觅食行为(AF_prey).数学表达式为
Xi/next=Xi+Random(Step),Yi≤Yj
(1)
式中:Yj为状态Xj对应的食物浓度;Xi为第i条人工鱼的状态;Random(Step)为[0,Step]间的随机数;di,j=‖Xj-Xi‖为人工鱼个体之间的距离.
图2 交叉算子改进示意图Fig.2 Improved schematic diagram of crossover operator
图3 交叉算子改进程序Fig.3 Crossover operator improvement program
(2) 聚群行为(AF_swarm).设人工鱼当前状态为Xi,搜索其临域内(即di,j≤Visual)的伙伴数目nf和中心位置Xc,若对应的食物浓度Yc/nf>δYi(伙伴中心具有较多食物,且不太拥挤),则向伙伴中心Xc移动一步,否则执行觅食行为.其数学表达式为
(2)
(3) 追尾行为(AF_follow).设当前人工鱼状态为Xi,搜索其临域内(即di,j≤Visual)伙伴中Yi为最大的Xi,且满足Yc/nf>δYi(伙伴Xi具有较多食物,且不太拥挤),Xi临域内伙伴数目为nf,则朝伙伴Xi前进一步,否则执行觅食行为.其数学表达式为
(3)
(4) 随机行为(AF_random).人工鱼在视野范围内随机选择一个状态,然后向其移动,以便更大范围内寻觅食物或伙伴,该行为为觅食行为的缺省行为.
鱼群通过侧向反馈机制觅食,这导致其易陷入局部最优,因此,提出增加干扰行为,增加跳出局部最优解的概率.DE[13]中的变异算子可以扩大鱼群间差异性,且随机性小、可控性强,所以在觅食、聚群、追尾后增设干扰行为,其数学形式为[14]
(4)
式中:F为缩放因子;Xr1为基向量;Xr2,Xr3为差向量.
混行算法流程图如图4所示,执行步骤如下.
步骤1确定变量个数,输入对应变量范围.
步骤2执行并行算法模块:① AFSA部分,计算每条人工鱼适应度值,执行聚群、追尾(觅食、随机行为伴随聚群、追尾发生)行为,分别生成新个体,计算新个体适应度值,判断两者大小,选择较小个体替换原种群中对应的个体;② 判断新个体是满足变量条件,如不满足则取对应变量的上下限取代原有值;③ 对新生成的个体实施干扰行为,扩大鱼群间差异性;④ 判断是否满足迭代要求,如不满足则继续执行步骤①,如满足则跳出循环,输出运行结果1;⑤ GA部分,计算单个染色体适应度值,执行交叉、变异行为,待所有个体循环结束后,记录当代中最优个体,替换最差个体;⑥ 判断新染色体是否满足变量条件,如不满足则取对应变量的上下限取代原有值;⑦ 判断是否满足迭代要求,如不满足则继续执行步骤⑤,如满足则跳出循环,输出运行结果2.
步骤3对比运行结果1和2,保留优胜值.
步骤4根据桥式起重机板厚选择原则重新设定变量范围,设置对应的步长.
步骤5将根据新范围生成的数值矩阵代入解析法中,验证满足约束条件的解.
步骤6校核二次优化后生成的解,分别判断其是否满足要求,保留符合要求的结果.
步骤7输出优化结果,混行算法结束.
图4 混行算法流程图Fig.4 Flowchart of a mixed-line algorithm
为实现起重机结构的轻量化设计,如图5所示,q为主梁自重均布载荷,F1,F2为轮压,s为跨度.现多采用优化算法来实现尺寸优化,从而达到起重机减重目的[15].尺寸优化主要通过主梁截面面积来表达,数学表达式为
(5)
式中:Ai为不同结构截面面积.
图5 主梁力学模型简图Fig.5 Schematic diagram of mechanical model of main girder
当小车位于跨中时,主梁承受最大弯矩,跨中截面各验算点的弯曲正应力和切应力为
σ0x=Mx/Wx
(6)
式中:Mx计算截面对强轴(x轴)的弯矩;Wx为计算截面对强轴(x轴)的抗弯截面系数;F为梁的剪切力;S为梁在最大剪切力截面的毛截面最大静矩;Ix为梁在最大剪切力截面的毛截面惯性矩;δ为梁腹板厚度.
强度约束条件为
(7)
式中:M为危险截面承受的弯矩;y为截面中性轴到验算点的垂直距离;[σ]为许用应力,[σ]=235/1.48=158.78 MPa.
刚度约束条件为
(8)
式中:Yc为集中载荷位于跨中时主梁最大变形;[Y]为许用静位移,[Y]=L/500.
几何约束条件为
(9)
式中:x1为上、下翼缘板厚度;x2为主腹板厚度;x3为副腹板厚度;x4为主副腹板间距;x5为腹板高度.
为验证混行算法的实用性,以32 t/22.5 m桥式起重机主梁截面作为优化工程实例.考虑结果的对比性,载荷参数采用文献[2]中数据,如表1所示.
表1 桥式起重机参数Tab.1 Parameters of bridge crane
并行模块运行结束后,需根据求解结果重新设定变量范围与对应步长,设置如下:
(10)
通常梁的上、下翼缘板采用相同厚度,腹板厚度为6~14 mm,两者均取2的整倍数.因此,设置上、下翼缘板厚度取值步长为2 mm[16],主副腹板(翼缘板宽度)间距及腹板高度的取值步长x4,x5为10 mm,如表2所示.
表2 二次优化参数设置Tab.2 Two-time optimization parameter settings mm
按照排列组合的方式将所有结果排列,采用解析法对其进行校核,从中选出最优组合作为二次优化的结果(见表3).
混行算法在Matlab中运行,参数采用表1中数据,运行结果如表4所示.
表3 x1选取6 mm时排列组合结果Tab.3 x1 selection of 6 mm time combination results
注:表中x5代表1 500,1 510,1 520,1 530,1 540,1 550,1 560,1 570,1 580,1 590,1 600.
表4 箱型梁优化结果Tab.4 Optimization results of box girder
通过工程验证,结果满足强度、刚度以及几何约束条件.证明混行算法可以应用于桥式起重机主梁尺寸优化设计.
针对单一优化算法中存在早熟现象明显、对初始种群敏感等缺陷,本文提出一种全新的混行算法运用于桥式起重机主梁轻量化设计.混行算法以“扬长避短”为设计理念,分别运用不同算法优势,取长补短从而达到“快、准、稳”的求解目标.结果表明:在32 t/22.5 m桥式起重机主梁截面优化过程中采用混行算法是合理的,对截面优化任务的最小化是成功的.