以智能化方法实现结构的自动建模分析和优化设计,能有效改善传统结构设计效率低下的问题,保证优化后结构的经济有效性和安全性。本研究建立以材料用量为目标、以规范设计要求为约束的优化数学模型,采用启发式算法对结构体系开展智能优化设计。 以一个简单的4跨10层平面钢框架结构为例,验证智能优化流程在结构设计中的有效性。该结构的构件截面为工字型钢,钢号为Q235,跨度为4m,层高为3m,从下往上总共分为3个标准层,其中1~4层为标准层1,5~7层为标准层2,8~10层为标准层3,每个标准层划分3组构件,包括角柱(JZ)、梁(L)、中柱(ZZ),总共有9组构件,即36维设计变量,变量的取值范围见设计变量取值范围表,搜索空间的规模为1.8×1062。考虑荷载工况为1.3重力荷载代表值+1.3水平地震作用,前者由恒载4.5kN/m2(楼面恒载2kN/m2+楼板自重2.5kN/m2)与活载2kN/m2计算得到,将其等效为竖向线荷载作用在梁上;采用底部剪力法计算等效水平地震作用,地震设防烈度、地震动设计特征周期、地震影响系数最大值、阻尼比分别取为6度、0.35s、0.04、0.04,将其等效为水平荷载作用到每一层柱顶节点上。通过MSC.Marc软件建立钢框架结构的有限元模型,见平面钢框架结构的有限元模型图,梁柱构件均采用梁单元,结构底部和梁柱节点均为刚接。仅考虑弹性分析,钢材密度取为7850kg/m3,弹性模量取为206GPa。 设计变量取值范围 平面钢框架结构的有限元模型 以遗传算法为基础,引入多种改进策略和多种群思想,结合结构和设计变量特征,基于规范要求对钢框架结构进行优化设计,旨在说明多种群遗传算法的有效性。采用的所有算法都具有相同的种群初始化、适应度评估步骤,在设计变量生成和更新时都采用了基于约束的策略,将先对其进行统一描述。 基于约束的策略如下图所示。 遗传算法是一种随机性较强的算法,在初始化和迭代过程中生成种群时不具有方向性,通常存在新个体无法满足约束条件或原本满足要求的个体在变量更新后出现超限的情况,这会增加无效个体(存在超限情况的个体)的数量,从而导致计算时间的增加。为了减少该情况发生的可能性,以构件组为单位,采用基于约束的策略来改善该问题,仅针对计算前约束条件。在初始化过程中或在迭代过程中通过交叉、变异操作后,当有新个体生成时,遍历每个构件组,均通过下列公式对其截面参数进行相关验算, 当满足要求时,该构件组生成有效,否则重复进行相同操作,直至满足要求为止,为了避免某些构件组始终无法满足要求而陷入死循环的情况,设置最大重复操作的次数,在超过30次后,将该构件组的4个参数在取值范围内重新随机生成,直到满足要求。该策略将应用于包括种群初始化、交叉、变异、重生成等所有会生成新个体的步骤中。 种群初始化。个体的所有设计变量在相应的取值范围内随机选择,以构件组为单位,采用基于约束的策略生成最终个体,最大限度地保证初始种群在可行域内均匀分布和算法的全局搜索能力。 适应度评估。采用下列公式计算每个个体的伪目标函数值,进而得到其适应度。 1. 遗传算法 遗传算法(Genetic Algorithm,GA)是基于大自然中生物体进化规律,模拟达尔文生物进化论的自然选择法则和遗传学机理的生物进化过程思想的一种优化算法,具体为将优化问题以基因的形式对种群中所有个体进行编码,通过自然选择、遗传和变异过程实现新种群的更新迭代,最终获得适应性高的个体,即最优个体,该方法已被广泛应用于机器学习、信号处理、组合优化等领域。该算法的主要流程如下图所示: (1)个体编码。采用实数编码方式将求解问题转换为可供遗传算法进行后续操作的带有数据信息的染色体或个体,建立问题解空间和算法参数搜索空间的映射关系。 (2)选择算子。根据遗传算法中“适者生存”的思想,从上一代种群的适应度选择出优质个体作为交叉和变异操作的基础。采用轮盘赌策略对个体进行选择,即通过计算所有个体的适应度,其值越高,则被选择的概率越大。 (3)交叉算子。在荷载作用下,结构构件具有较强的相互作用关系,存在着荷载的分配问题,如应力不仅与该构件的截面尺寸相关,还与其他构件的刚度以及分配的荷载相关,若在所有设计变量之间采用多点交叉,容易导致原本满足应力要求的构件发生超限的情况,使算法的收敛速度降低等问题。为了提高算法的性能,采用基于构件层次的多点交叉策略,即在每一组构件的4个参数中随机选择一个点位进行交叉,突出相同构件组之间父代特性的继承和遗传。 (4)变异算子。与交叉算子相似,采用基于构件层次的多点变异策略,即在每一组构件的4个参数中随机选择一个点位,在其取值范围内随机生成,提高对构件组的局部搜索能力,增加种群的多样性并避免“早熟”现象的发生。 (5)终止准则。设置最大迭代次数和最优解保持在误差范围内的最大连续次数,当满足任意一种情况时,优化过程终止,输出最优解。 2. 改进遗传算法 经典遗传算法存在着一些弊端,在基于轮盘赌策略的选择操作中,迭代后期的个体差异较小,由于适应度相近较难选择出真正的优质个体,在交叉和变异操作中,概率固定且缺乏搜索方向的引导,对设计变量的取值扰动较大,容易破坏构件层次的优质基因,使算法的局部搜索能力降低,整体未设置精英保留策略,可能造成优质个体基因的浪费。因此,考虑采用适应度尺度变换、基于方向的交叉算子、非均匀变异算子、自适应概率、精英保留策略、重复项替代机制对其进行改进,称为基于方向的自遗传算法(DBAGA),其主要流程见下图。 适应度尺度变换。适应度对算法的收敛性有一定的影响,为了在优化初期对少数适应度较高的个体进行控制,降低其与其他个体的差异,以维护种群多样性,在优化后期适当放大个体之间的差异,提高优质个体的竞争性,采用线性尺度变换策略对适应度进行处理,其数学表达式为 式中,f、f ’分别为尺度变换前后的适应度值;a、b为系数,即尺度变换后的适应度平均值f ’ave和最大值f ’max应分别等于尺度变换前的适应度平均值fave和其指定倍数;c为最佳个体期望复制系数,一般取为1~2。 基于方向的交叉算子。智能算法如粒子群算法中通常通过较优个体来引导种群中其他个体的搜索方向,从而使其向更好的方向移动,采用基于方向的交叉算子来实现,其数学表达式为 式中,Xki、Xkj分别为第k次迭代中选择出的第i个和第j个个体;λ为步长,取为1;R1、R2为取值为[0,1]且与维度设计变量相同的随机数向量;D为Xki和Xkj中较优个体与较差个体的向量差,即交叉方向。 非均匀变异算子。通过基因位随机数替代可能导致优质个体被破坏,采用非均匀变异算子,仅在所选点位附近作一微小随机扰动,可以提高对重点区域的局部搜索,其数学表达式为 式中,x、xμ、xl分别为基因位对应参数的当前取值、最大取值、最小取值;r为[0,1]的随机数;t为当前迭代数;T为最大迭代数;b为系数。 自适应概率。固定概率的设置会影响算法的性能,当其过大时,优质个体的基因被破坏的可能性变大,从而增加算法的随机性,当其过小时,会使搜索过程缓慢,陷入局部最优解,采用自适应概率可以改善该问题。根据适应度的不同,在交叉操作中,设置2阶段概率;在常见的2阶段变异操作中,较大概率值通常较小,难以达到变异作用,为了增加种群的多样性,增加变异的可能性,设置3阶段概率。当适应度低于设定适应度时,说明个体较差,采用较大的交叉和变异概率,当适应度高于设定适应度时,采用较小的交叉和变异概率,以自适应概率的方式增加个体的竞争,提高算法的收敛速度,其数学表达式为 式中,pc1、pc2分别为较大和较小交叉概率;pm1、pm2、pm3分别为较大、一般和较小变异概率。 精英保留策略。为了避免精英个体的丢失,提高子代个体对父代个体优质基因的继承特性,将历史最优解保存并在每一次迭代过程中用于替代最劣解,可以有效保证最优个体不会被破坏,提高算法的收敛性,但同样存在某个局部最优解不易被淘汰而使优化过早收敛的问题,因此与重复项替代机制配合使用。 重复项替代机制。由于算法的遗传特性,经过选择、交叉和变异操作后,种群中很可能存在重复个体,为了避免重复计算和降低优化时间,用变异后的精英个体来替代重复项,能够有效增加种群的多样性,同时提高对精英个体参数取值附近的局部搜索,改善因精英保留策略带来的过早收敛和陷入局部最优解问题。 3. 多种群遗传算法 优化算法的性能和结果受到算法中参数的影响,如遗传算法中的交叉概率等,基于固定参数的优化随机性较强、鲁棒性较差,采用基于多种群的思想可以改善此类问题。在同一次优化中,同时生成多个初始种群或者将整体群体划分为多个子群体,每个子群体设置不同的算法参数,各自同时进行优化,在一定的迭代次数后,通过移民算子将各子种群在进化过程中出现的最优个体引入相邻的子种群中,实现种群之间的信息交换。该方法能够有效降低的单一种群算法的随机性和提高鲁棒性,减少对参数设置的依赖性。对上述GA和DBAGA都进行多种群的设置,即多种群遗传算法(Multi population GA,MPGA)和基于方向的多种群遗传算法(Direction-based MPGA,DMPGA),以MPGA为例进行说明,见下图。在多种群算法中,各参数值不固定,只给定各自的取值范围,在每次优化开始时随机得到。 移民算子。在多种群算法中,将群体划分为一些子种群,通过移民操作建立子种群之间的相互联系并实现信息交流,具体步骤如下:设置子种群数、移民间隔(相邻两次移民的间隔迭代数)和移民率(每次被移民的个体数量);每个子种群按一定的模式(即独立优化器,在多种群遗传算法流程图中为GA)分别进行独立优化;当迭代次数满足移民间隔时,相邻子种群进行有序的移民操作。如设置子种群数为4,移民间隔为5,移民率为1,则将群体划分为4个子种群,每个子种群进行独立优化,每5次迭代时,用子种群1中历史最优的1个个体替换子种群2中当代最差的1个个体,以此往后类推,按顺序完成所有子种群间的移民操作。 采用4种算法对钢框架结构进行优化,各进行20次优化,各算法参数设置保持不变,具体取值见下表。在单种群算法中,因试算后发现,种群规模较小时会过早收敛且优化结果不理想,故设置为100;在多种群算法中,移民操作均设置为每1次迭代后进行,子种群均设置为5个且每个子种群10个个体。 钢框架结构不同算法的优化曲线和计算结果见不同算法的优化曲线图、不同算法的最优解计算结果图和不同算法的优化结果表。对于GA,20次优化后的结构均能满足所有的约束条件,但最优解呈现出较强的离散性,其标准差为1.79t,其中最优解和最劣解分别为19.75t和27.04t,差值较大,达到7.29t。从不同算法的优化曲线图(a)中可见,大多数优化所需的分析次数在4000次左右,其中有6次优化所需的分析次数小于2800次,计算成本较小,但在1000次分析后,大多数优化曲线进入平稳阶段且后期仅存在1~2次下降,由此说明,该算法容易陷入局部最优解而过早收敛,局部搜索能力较差,这是因为其交叉和变异策略都是针对每个构件组的某一个随机的基因位进行的相关操作,不确定性较高,缺乏一个搜索方向的引导,容易造成优质基因被破坏。 对于DBAGA,优化后的结构中有8次无法满足所有的约束条件,由于伪目标函数中考虑了约束条件的影响,因此,受多个最劣解的影响,优化结果的平均值和标准差均较差,分别达到89.35t和89.11t,在该算法参数的设置下呈现出较强的离散性和随机性。从优化所需的分析次数来说,有14次算例小于3000次即可达到终止判别条件,计算代价较低,同样存在容易陷入局部最优解而过早收敛的问题。这是因为该算法的交叉策略是针对设计变量的所有维度,虽然通过较优个体向较差个体提供了搜索方向的引导,但受到算法参数的设置影响,如果交叉的两个个体都较差,其交叉后的子代个体则有较大可能无法得到好的改善,此外,在迭代后期,由于精英策略保留的历史最优个体将在种群中重要性增加,即使设置了重复项替代机制对该个体的重复项进行了变异且在其参数取值附近进行了局部搜索,但由于该个体本身质量较差且每一次迭代仅存在少数重复项,算法的局部搜索能力仍不易寻到更优质的解。 对于MPGA,优化后的结构均能满足所有的约束条件,最优解和最劣解分别为18.25t和24.50t,差值达到6.25t,但除少数案例以外,其他优化结果相对集中且标准差仅有1.56t,表现出较大的离散性,但优于GA。从不同算法的优化曲线图(c)中可见,大多数优化所需的分析次数小于2700次,计算时间较短,在迭代前期能下降到接近最终解便进入到平稳阶段且后期出现下降的次数较GA有所增加,说明算法的局部搜索能力较GA更好,这是因为采用了多种群思想,部分改善了GA存在的局部搜索能力较差的缺点。该算法的基础是GA,同样是基于构件组进行的交叉操作,在迭代过程中容易破坏较优个体,缺少搜索方向的引导,大多靠全局搜索来寻优,具有一定的随机性。 对于DMPGA,优化后的结构均能满足所有的约束条件,其中最优解和最劣解分别为13.27t和17.52t,标准差仅有1.17t,该算法的鲁棒性较好。从不同算法的优化曲线图(d)可见,优化所需的分析次数大多集中于5000次左右,少数案例进行到了最大迭代次数才终止,受其影响,20次优化所需的平均分析次数达到6403次,所有的优化曲线表现出较多次的下降,说明该算法的局部搜索能力较强。这是因为DMPGA设置了多个子种群,集合了多个不同参数设置且独立的DBAGA,极大地降低了单种群算法对其参数取值的依赖性,由于自适应概率和基于方向的交叉算子,每个DBAGA都存在较差个体向较优个体前进的机制,即使其历史最优解的质量较差,但通过移民算子可以得到极大地改善。 不同算法的优化曲线 不同算法的最优解计算结果 不同算法的优化结果 由不同算法的优化曲线图(e)可见,除DBAGA之外,其他3种算法优化后的结构均能满足约束条件。其中,GA、DBAGA和MPGA的平均优化曲线分别在约1000、2000和1500次分析后下降到较低水平,优化前期的收敛速度较快,但随后基本保持平稳状态,此外,由不同算法的优化结果表可见,3种算法所需的平均分析次数分别为4195、3305和3205次,整体表现为局部搜索能力不足,存在早期陷入局部最优解而过早收敛的问题。相比之下,DMPGA的平均优化曲线在1000~3000次分析中仍有较大幅度的下降,约6000次分析后进入稳定期,所需的平均分析次数为6403次,虽然远高于其他算法,但优化前期和后期均能表现出较好的搜索能力且最终得到的优化结果远好于其他算法,具体如下:从平均解来说,DMPGA结果为15.58t,比GA、DBAGA、MPGA的结果分别低33.3%、82.6%、29.2%;从最优解来说,DMPGA的结果为13.27t,比GA、DBAGA、MPGA的结果分别低32.8%、32.1%、27.3%;从标准差来说,DMPGA的结果为1.17t,比GA、DBAGA、MPGA的结果分别低34.7%、98.7%、25.2%;从最劣解来说,DMPGA的结果为17.52t,比GA、DBAGA、MPGA的最优解都小,分别低11.3%、10.3%、4.0%。因此,由于采用了并行计算技术,平均一次结构分析所用时间约为1~2s,一次结构优化所需的总体计算时间约为1~4h,耗时较短,DMPGA在计算效率方面虽有不足和有待改进之处,但在可接受范围之内,此外,该算法在搜索能力和优化后结构的材料用量结果方面有明显的优势。 由不同算法的优化曲线图和不同算法的优化结果表可见,不同算法的最优解都能满足约束条件,但最优结构的设计变量参数值和性能指标结果相差较大,这是因为每种算法都是基于遗传算法的思想,具有一定的随机性,即使结构总材料用量相近,但构件尺寸和结构性能仍存在较大差异。与GA和DBAGA相比,总体来说,基于多种群思想的MPGA和DMPGA最优解的结构性能指标更接近限值,两者相比,DMPGA的结果更好,如最大层间位移角为0.00398,基本等于限值1/250,多组构件的稳定性结果接近1,说明其优化后的结构更优,既能满足约束条件,又具有较小的总材料用量。 总体来说,DBAGA比GA的局部搜索能力更强,这是因为非均匀变异算子和重复项替代机制同时增加了种群的多样性和历史最优个体参数取值附近的局部搜索,但优化结果仍较差;基于多种群的算法能够有效改善基于单种群的算法的随机性和鲁棒性,通过多组不同参数设置降低了优化结果对其的依赖性,如在前面分析中提到的DBAGA可能由于精英策略保留的个体质量较差而不易寻到更优质的解,但通过多种群机制的移民算子,能够有效建立起子种群之间多个历史最优解的联系,有效弥补了单种群算法的不足;与MPGA相比,由于增加了基于方向的交叉算子能够引导较差个体向较优个体学习,DMPGA具有更强的全局和局部搜索能力。
团队负责人: 周绪红、刘界鹏 本文作者:周俊文 编辑:武睿涵 审核:齐宏拓 团队联系人:李明春 联系电话:13320200320 邮箱:hitqht@cqu.edu.cn