APP下载

天牛须遗传杂交算法的研究与应用

2021-08-06冯晓东黄世荣戴冠鸥杨伟家罗尧治

计算机工程与应用 2021年15期
关键词:天牛算子变异

冯晓东,黄世荣,戴冠鸥,杨伟家,罗尧治

1.绍兴文理学院 土木工程学院,浙江 绍兴 312000

2.浙江大学 建筑与土木工程学院,杭州 310000

数学优化在求解大多数工程优化问题时受限于其可应用数学模型的苛刻条件,工程应用日益复杂的需求促进了随机优化类方法的快速发展,特别是元启发式算法(Meta-Heuristic Algorithms)这一类从自然规律中获取灵感,模仿运行机制并完成自我学习的高效计算算法,具体有群智能算法(Swarm Intelligence,SI)、进化算法(Evolutionary Algorithms,EA)等。EA中有一类经典的普适性优化方法——遗传算法(Genetic Algorithm,GA),其优化结果通常独立于问题本身,因此普遍适用于工程领域。但与此同时,该算法无法充分利用问题的特性加快其优化效率;其优化结果通常只是近似解,且需要通过适当的构造措施保证算法的收敛性,这也是元启发式算法劣势。

为克服元启发式算法收敛性差、计算效率低等问题,部分学者提出了基于各类元启发式算法的杂交算法并形成了许多有意义的研究成果。Juang[1]提出基于遗传算法与粒子群算法(Particle Swarm Optimization,PSO)的杂交算法(Genetic Algorithm and Particle Swarm Optimization,GAPSO),其中PSO 变量通过群体交互和自我交互的方式提高解的质量,GA 组织变量形成种群模拟优胜劣汰和自然繁殖等现象提高求解效率,GAPSO的提出标志着SI和EA杂交的开始、个体和群体相互作用的开始。李亚非[2]以物种的竞争和协同进化现象为指导思想设计了GAPSO,其中算法框架以协同进化思想为指导决定了杂交算法中主次分属,有助于理解杂交算法的组成结构和作用。Ghamisi[3]提出的GAPSO,以侧重并结合GA 的选择作用来减少PSO 的无效计算量。Feng[4]提出的GAPSO,以PSO 为主体将GA 的交叉和变异算子作为增强局部搜索能力的手段,有效解决PSO早熟收敛问题。此外,姜向远[5]和李帅[6]分别提出天牛须搜索算法(Beetle Antennae Search,BAS)并证明收敛与步长有关,建立并初步完善BAS理论。周田江[7]提出结合模拟退火的杂交天牛须算法(Simulated Annealing and Adaptive Beetle Antennae Search Algorithm,SABAS),横向对比了退火算法和天牛群算法并证明SABAS在多维问题上有较好的寻优能力。陈婷婷[8]将PSO 与BAS杂交,加强个体探索作用的同时有效减轻PSO中个体对历史最优和局部最优的依赖,在个体探索引导群体的方式上提供了新思路。上述杂交算法主要通过加强个体的探索,提升个体和群体之间的相互作用,从而解决原始算法局部搜索能力弱的问题。但杂交过程中通常会引入新的参数,这在一定程度上增加了算法复杂度,从而使其应用受限[9]。

BAS 与GA 的杂交可以在一定程度解决上述问题。首先BAS 算法核心代码仅4 行,便于改写和拓展。其次BAS对象为单一个体,作为辅助的进化策略对GA整个框架影响较小并有助于保持自身独立性。本文提出基于数据驱动的天牛须遗传杂交算法,针对BAS 特点改写成BA搜索算子以增强算法局部搜索能力;通过数据驱动策略,利用历代种群变量和相应目标函数变化的灵敏度映射得到启发规则,达到区分变量并优化进化路径,减少无效运算量从而降低杂交算法复杂度。最后通过平面十杆桁架尺寸优化算例,说明本方法的有效性及稳定性。

1 算法概述

1.1 遗传算法(GA)

GA 通过选择、交叉和变异三种遗传算子实现算法收敛。选择通过个体相互间竞争逐渐逼近问题的最优解;交叉和变异归为遗传运算,分别是GA 产生新个体的主要方法和产生新个体的次要途径,其中变异影响GA的局部搜索能力和种群的多样性。交叉和变异相互配合来模拟基因在繁殖创造新后代过程的作用,共同完成对解空间的全局搜索和局部搜索(图1)。

图1 交叉和变异算子示意图Fig.1 Schematic diagram of crossover and mutation operators

仅采用选择、交叉和变异三个遗传算子的遗传算法被称为标准遗传算法(Canonical Genetic Algorithm,CGA)。江涛[10]和冯爱兰[11]等人改进的遗传算法采用精英选择策略(图2)分别解决路径优化问题和订单分配优化问题,并保证历史最优个体不会因选择、交叉和变异操作而丢失或破坏,从而增强全局的收敛能力。自适应遗传算法(Adaptive Genetic Algorithm,AGA)中自适应概率可以通过遗传运算使相应马尔科夫链过程变为非齐次,也是一种得到全局最优的收敛途径。

图2 末尾淘汰的精英保留策略Fig.2 Elitist model

1.2 天牛须搜索算法(BAS)

图3为BAS模型的简化,其仿生原理基于天牛的觅食行为:天牛使用两个触角来检测空间中食物的气味并决定其自身前进方向从而逐渐向食物靠近。

图3 天牛须搜索算法模型简化Fig.3 Simplified BAS model

其核心步骤如下:

(1)随机生成方向向量并标准化。

其中,N是变量的空间维度,rands(⋅)是随机函数。

(2)计算左右须的坐标。

其中,xt为t时刻天牛的坐标,dt是t时刻质心到须的水平投影搜索距离。

(3)确定左右触角的气味强度,用f(xl)和f(xr)代替左右位置,f(x)是目标函数。

(4)根据两须对应的气味,决定天牛下一时刻移动位置。

其中,δt为t时刻的步长。

(5)搜索距离和步长更新。

其中,d0代表人为设定的最小步长,ηd和ηδ分别为搜索距离和步长更新的衰减系数。

2 基于数据驱动的天牛须遗传杂交算法(BAGA)

郑文萍等人[12]基于遗传算法提出的蛋白质复合物识别算法(Genetic Algorithm based Graph Clustering,GAGC)扩大了图聚类算法的搜索空间,从而增强算法的局部搜索能力有助于提升算法的性能。本文针对AGA 精英选择策略和扩大采样空间策略时,由于选择压力过大进而全局搜索能力过强导致算法早熟且收敛效果差;因为罚函数无法利用不可行解域等问题提出一种局部搜索策略——天牛须搜索算子(Beetle Antennae Operator,BA)。BA利用精英个体从不可行解域得到优良个体,通过扩大解的搜索空间以增加算法的局部探索能力。

具体为可行解通过BA的局部改良从不可行解领域得到优质不可行解,再由修复算子修正成可行解重新进入种群排序,自适应精英选择策略将会自动选择末尾淘汰个数以平衡算法增加的局部搜索能力。

2.1 天牛须搜索算子(BA)

BA 由BAS 改进并主要考虑的对象为类精英个体的优良可行解,其在约束边界附近对变异敏感极易违反约束成为不可行解,需要新的变异步长策略和变异维度选择策略。只改变变异率和交叉率的AGA,其变异步长跨度不稳定且变异对象随机选择,因此当可行解搜索至不可行解附近时,由于外部施加的高压极易成为不可行解而丧失被选择进入下一代迭代的机会。

针对AGA变异机理上最小步长和变异对象选择的应用局限,杂交BA 后的天牛须遗传杂交算法(Hybrid algorithm of Beetle Antennae and Genetic Algorithm,BAGA),有针对性加强了算法的局部探索能力。以下为执行BA的三个基本假定:

假定1天牛自身的目标函数值会影响到下一步前进方向的决策选择。

假定2天牛的左右须坐标可以用两个步骤深化得到。(1)左右探头,如图4(b);(2)确定左右方向后,上下摆动左右须探索解的复合影响,图4(d)为探索后的效果示意图。

假定3天牛在任意解空间中搜索时,有且仅有两个方向和n根触须,分别作为探索的次数和探索时变异的变量个数。先左(右)探头确定方向再左右须来感知气味并得到左(右)方向的气味值,反方向相同。

各假定的具体解释如下:

假定1 是对BAS 坐标策略中缺少对照自身目标函数值可能导致盲目前进丢失自身历史较优解的改进。在求最小值问题时,式(4)改为式(11)可保证任意时刻f(xt+1)不大于f(xt),赋予保持现有状态选择的可能性。

假定2 以天变量多维度变异来模拟天牛须上下摆动搜索的耦合影响,体现在式中对步长h的设定。以图4(d)举例:算法模型左探头xl来阐明须的上下摆动举例:左须选择变量xi后保持不动,同时右须选择非i变量探索变异。

图4 二维天牛须搜索算子简化模型示意图Fig.4 Simplified diagram of 2-dimensional BA model

假定3 是拓展多维BA(n≥2)以适应不同的问题需求的补充设定。n代表任意探头方向上代表的矢量坐标变量被挑选变异的变量总数,如图4(d)所示,n=2代表xl左探头方向的矢量坐标被选中了两个变量变异并用红色标记显示。由于算法模型左右对称{n|n=2knum,knum∈N*},knum代表单侧须的根数。

BA核心步骤如下:

(1)生成步长

其中,e是单位变异步长矩阵,hmin是研究问题背景下变量的最小变异单位,n为天牛须的须数亦是BA 的维度;N是变量的维度,Δh是选择变异维度矩阵。x是变量的集合[x1,x2,…,xN],代表单一个体。ObjV=f(x)为种群中个体x对应的目标函数值,p函数输入x和对应ObjV可确定变量变异的维度。

(2)确定左右须坐标

(3)确定下一步方向

针对一般问题,BA 对局部搜索能力提升效果由步长h和天牛须维度n决定。优良个体极易违背约束的特性决定了h和n的取值原则:保证效率下分别取最小变异单位hmin和维度n的下限。hmin的下限一般由不同数学模型的定义域类型决定。如桁架结构尺寸优化问题中,离散变量可采用hmin=1,n=2;连续变量可采用变量的最小精度,无精度要求时可取定义域下限的1%~10%。

此外连续变量宜采用自适应函数,由下限构成主要取值并关联代数gen和种群目标函数标准差σ的迭代变化而变化。其中hmin和n(n≥2)随着gen的变大、σ的变小分别影响hmin和n的下降速率。

值得一提在BA 流程图(图5)中,输出对象的目标函数fgen(x)始终小于等于输入f1(x),且输出的目标函数经过自适应罚函数处理。结合图6 的天牛须算子改良个体示意图所示有助于理解天牛须算子的主要特性:如何利用精英个体在不可行解域产生优质不可行解从而实现局部探索跳出局部解。

图5 天牛须变异算子的流程和结果Fig.5 BA flowchart and output results

图6 天牛须搜索算子原理示意图Fig.6 Schematic diagram of BA

图6(a)演示了优良个体经过天牛须局部改良分别为可行解和不可行解前后的变化情况。图6(b)为绿色可行解个体经过天牛须局部改良后,其目标函数小于蓝色优秀个体且满足约束成为下一代蓝色优良个体的简单演示;图6(c)为红色不可行解个体经过天牛须局部改良后,不满足约束但经过自适应罚函数处理其目标函数仍小于蓝色优秀个体的简单演示。该红色不可行解在不可行解域进行局部探索后由修复算子修复成为下一代蓝色优良个体并进入种群参与整体搜索。

这种以生物天牛为载体实现利用优良个体主动转变到不可行解域探索得到优质不可行解的策略有不错的跳出极值能力,在3.3节中的补充实验中表现良好,有较高的收敛率可以说明。

2.2 数据驱动和启发规则

Farzaneh[13]利用历史数据驱动进化算法策略(Data-Driven Evolutionary Computation,DDEC),通过历史数据与目标函数通过拟合的方式得到个体对应的目标函数值,降低重复运算的成本。BAGA与DDEC同样是利用优化问题的历史数据优化减少运算量,不同之处在于数据驱动实现优化的方法不同。BAGA 不依靠离线数据,算法持续运行的同时以减少运算对象的方式实现运算量的优化。

图7为原理示意图,根据数据驱动策略以历代数据和对应目标函数值作为输入变量,通过编写的映射函数对变量进行基于目标函数值灵敏度分析的归类得到启发规则,其元素为{0,1},0代表低影响变量,1代表重要变量。根据启发规则采取不同的进化策略,进而减少无关变量的无效变异。

图7 历史数据驱动的基本原理Fig.7 Fundamentals of historical data-driven

具体为天牛须算子产生的不可行解进入修复算子后,根据启发规则对不同变量的分类实现其进化路径的分类,低影响变量将与定义域下限采用二分法梯度下降,降低其对目标函数的影响;重要变量则维持原交叉变异进化路径。

此外,本文数据驱动产生的启发规则,其元素仅为{0,1},足够简洁且产生分类的计算依据为算法迭代过程中产生的大量历史数据,无外界信息的输入。像遗传算法会出现欺骗现象使种群陷于局部解成为早熟类似,大数据中也有错误的数据,但数据驱动策略具有一定的鲁棒性,可以根据启发规则反馈到种群中得到的结果从而自行调整。

图8 中启发规则在50 代前后时编号为2 的变量权重被归类为1,经过算法的迭代运算最终在60代其权重重新回到了0 并稳定到算法结束。这体现了数据驱动策略具有一定的鲁棒性。

图8 具有一定鲁棒性数据驱动Fig.8 Schematic of data-driven strategy with degree of robustness

迭代过程中数据越多,数据驱动样本分类更能归类出不同变量的重要性从而得到更加精确的启发规则;启发规则越准确,越能体现变量对目标函数的敏感性,得到正确的数据;正确的大数据加上数据驱动策略,进而实现数据链的加速闭环,结果就是数据越多,启发规则越准确。

下面给出了映射规则的伪代码,是变量对结构经济性灵敏度分类实现的代码依据。

平面十桁架尺寸优化的映射规则伪代码

本文的映射递归规则可以在各种结构的尺寸优化应用背景下,针对经济性为目标函数分类得出不同类型的结构变量对目标灵敏度分类。

2.3 BAGA算法分析

BAGA通过天牛须算子加强局部搜索能力,利用历史数据驱动得到的敏感性规律(启发规则)加以区分变量得到重要性分类进而优化进化路径有助于降低算法杂交增加的计算量。图9 给出了BAGA 的流程图,2.1节的天牛须搜索算子和2.2节的数据驱动策略在算法流程图中依次对应绿色标注部分。

图9 BAGA算法流程框架图Fig.9 BAGA algorithm flowchart

设置对照组分别研究BAGA 中天牛须搜索算子和数据驱动对于收敛和减少复杂度的作用,如图10所示。对比BAGA和AGA在10杆优化问题下的性能表现,图10(a)所示的AGA 曲线仅在算法前期30 代就局部收敛陷入局部解,BAGA 在20 代左右收敛于全局最优解。BAGA不仅兼备AGA的全局搜算能力较高的优点并改进AGA高全局收敛能力但低局部搜索能力的问题。

图10 BAGA中各改进部分对算法整体的影响示意图Fig.10 Diagram of influence of each improved part in BAGA on whole algorithm

2.3.1 数据驱动策略在算法中的具体作用

对比图10(a)中有无启发规则的BAGA 两条曲线,可以发现无启发规则的BAGA多运算了40代并在60代左右收敛到全局最优。同时图10(b)中记录了有无启发规则的两种BAGA算法随机10次所得目标函数值和计算量的关系,其中横向柱状图对比了10 组具体收敛的次数(详细数据见表1),曲线图刻画了2 个对照组独立重复10次的平均目标函数和对应结构分析次数的平均值,根据表1中数据可得有启发规则的平均值为16 278.4次,无启发规则的平均值为23 406.8 次,减少了7 128.4次,平均提高了43.8%的效率(7 128.4/16 278.4×100%)。

表1 2个对照组重复10次所得收敛时的结构分析次数Table 1 Number of structural analyses obtained when two controls are repeated for 10 times

本文不同于DDEC使用离线数据进行评估[14],提出的数据驱动策略不对数据和目标函数的关系进行拟合,而是通过甄别数据和目标函数之间的灵敏度,以启发规则的方式赋予数据可以定义和区分的优化价值,从而减少运算复杂度。

2.3.2 天牛须搜索在算法中的具体作用

控制变量发现数据驱动策略对收敛到全局最优解并无影响,相反图10(a)中无天牛须的BAGA 曲线直到算法结束仍然无法收敛到全局最优解。做定量实验,扩大样本验证天牛须对于算法收敛是否起到关键作用。100 次重复实验得到BAGA 最优解为2 490.56 kg,平均值为2 490.72 kg,标准差为2.61,收敛率为99%;1 000次重复实验最优解为2 490.56 kg,平均值为2 491.43 kg,标准差为8.05,收敛率为98%;但AGA 重复实验1 000次都没有收敛,在补充实验中设置循环代数为10 000代,可得到AGA最终收敛。图10(a)中没有BA的AGA曲线和重复实验分别说明BA对局部寻优有提升作用并有98%的收敛率验证BA的稳定性。

图9的BAGA种群更新迭代后,种群优良个体通过BA 在不可行解域产生“非支配”的不可行解,改善GA的局部搜索能力;不可行解利用修复算子回到种群中参与下一代的排序和选择;最后通过自适应精英算子控制的整体改良扩散其影响并作用到种群,可以适当削弱或增强局部搜索带给种群的影响从而平衡全局搜索能力。

自适应精英策略以逻辑判断的方式比较目标函数值自适应调整末尾淘汰的范围,放大或减少BA对种群的影响,从而平衡局部搜索和全局搜索能力,以两者较高且平衡的方式提高综合搜索效率。图11为定量实验中种群个体收敛历史演变情况,迭代过程中种群个体根据目标函数值分布可以简单分为3类,A区为收敛个体,C 区为收敛前的种群个体,B 区为天牛须搜索设定范围的个体。

如果不平衡局部搜索能力和全局搜索能力,任由局部搜索能力增加将会如图11(a)所示。图11(a)中种群个体收敛全局最优解,但其B区因为天牛搜索算子导致局部搜索能力强于全局搜索能力,过多的局部解增加了种群多样性但种群整体无法正常收敛,在数据上具体表现为种群目标函数标准差不为0。通过扩大末尾淘汰范围并采取逻辑判断的方式自适应调整BA作用个体进而扩散到种群的影响,如图11(b)中的B区所示,个体编号1~10的个体和种群全部个体收敛于全局最优解从而种群收敛。

图11 局部和全局搜索能力对个体目标函数分布影响示意图Fig.11 Graph of local and global search capability on individual objective function distribution

图11(c)为100次独立重复中唯一一次不收敛的情况,属于高压选择下有较高的全局搜索能力和局部搜索能力,但仍在指定代数下无法跳出局部解,BA的作用说明可以在图中较好体现。B 区整体目标函数分布呈现类梯形,其区域内的个体向局部最优解方向2 498.28 kg下降,直角腰为C 区与B 区的分界线,代表精英个体在23代搜索到局部最优解;绿色斜腰为A区与B区的分界线,代表种群编号为10~40的个体逐渐从末尾编号40开始向首项编号前10 个体靠近收敛的状态,但由于天牛须搜索算子的缘故,个体编号为1~10 范围内的个体围绕着局部最优解在开发寻找全局最优解,导致编号前10的种群目标函数分布在大于局部最优解,该现象在图11(a)的B区中表现更为明显。

3 算例分析

设定BAGA在种群大小为NIND,记录每次独立实验迭代100代停止时的种群目标函数,再重复独立实验text_num次可用矩阵OBJVtext_num×NIND表示,行代表实验次数,列代表个体编号,text_num取值1 000,NIND取值40,共40 000 个数据作为数据样本研究算法的性能,分别计算平均值--------ObjV,标准差σ和成功率P。此外min_ObjV定义为OBJV每行中的最小值。计算公式依次为:

其中,STDEV.P(⋅)为EXCEL 软件中求总体标准差函数。对min_OBJV进行逻辑判断是否等于指定函数值赋值元素0和1,可得列向量p,1代表算法找到最优解,0 代表算法陷入局部解,没有找到最优解。min(⋅) 为MATLAB中求最小值函数,[]代表空。

3.1 目标函数和罚函数

在满足约束的条件下,尺寸优化经济最佳效益方案的设计目标函数往往与结构自重有关,在桁架结构的尺寸优化中通常将构件的截面面积作为设计变量,以结构质量最轻为目标建立目标函数,寻求一组截面积使结构的重量最轻且满足约束条件(应力、位移等),属于单目标优化问题。通常,每个设计变量都是从基于生产标准的离散截面列表中选择的,离散变量桁架结构优化模型如公式(15)所示:

其中,ObjV(X)是目标函数,由结构自重f(X)和罚函数g(X)组成,X是设计变量面积。N是变量的空间维度,ρi是第i根杆件材料的密度,Ai是第i根杆件的横截面面积,li是第i根杆件的长度;M为节点的编号,是应力约束,k是荷载态,nk是荷载态的总组数,σik是第i根杆件在第k组荷载态下的应力,[σi] 是第i根杆件最大的允许拉压应力;是第j根杆件在第k组荷载下l方向的位移约束,ujlk是第j根杆件在第k组荷载下l方向的位移,[ujl]是第j根杆件在l方向的最大允许位移,ND为杆件的自由度。S是横截面面积变量的定义域,sn是S的变量维度。

3.2 平面十杆桁架尺寸优化

图12给出了一个平面十杆桁架的结构示意图,该结构包含10个杆件和6个节点。弹性模量和密度分别E=68 947.57 MPa(107psi),ρ=2.7×103kg/m3(0.1 lb/in3) 。节点5和节点6施加竖向荷载P=444.8 kN(100 kpsi);每个节点允许竖向位移和横向位移为±50.8 mm(±2 in);以各杆件的横截面积(mm2)为设计变量,设计变量的定义域S=[1.62,1.80,1.99,2.13,2.38,2.62,2.63,2.88,2.93,3.09,3.13,3.38,3.47,3.55,3.63,3.84,3.87,3.88,4.18,4.22,4.49,4.59,4.80,4.97,5.12,5.74,7.22,7.97,11.5,13.5,13.9,14.2,15.5,16.0,16.9,18.8,19.9,22.0,22.9,26.5,30.0,33.5]×645,(1in2=645 mm2);每根杆件的允许应力为±172.37 MPa(±25 000 psi)。

图12 平面十杆桁架模型Fig.12 Plane 10-bar truss model

表2 中列出了不同元启发式算法对桁架10 杆模型尺寸优化100代后得到结果。由表2可知本文BAGA优化结果桁架总用钢量为2 490.56 kg,与前人研究结果相同,证明了算法的可行性及准确性。值得一提的是,除AGA(参数见表3)以外的其他元启发式算法皆在指定100运行代内获得了最优尺寸方案,但BAGA在稳定性和成功率方面有更好的表现。对比TLBO和ACO的标准差,BAGA 的标准差为8.05,在1 000 次独立重复实验,98%的概率成功收敛至最优解。

表2 桁架模型尺寸优化结果和对比Table 2 Results and comparison for truss model size optimization

表3 本文算例中AGA自适应参数设置Table 3 Adaptive parameter setting for AGA

图13 所示为BAGA 和AGA 对平面十杆桁架模型尺寸优化的收敛历史曲线和种群目标函数历代分布图,共迭代100代以目标函数(结构自重+罚函数)为追踪对象,从1 000 次定量实验中随机选取一组具有代表性的数据做收敛过程中的定性分析。结果表明:AGA 无法在指定代数内有效收敛且陷入局部最优解。BAGA 运行至15 代左右时精英个体找到最优解,种群目标函数平均值在20代收敛到全局最优解附近,并在30代σ为0完成收敛。在后续实验中,设置最大迭代次数为10 000,AGA收敛。

图13(a)中AGA 前期10 代目标函数值呈阶梯状下降,表明AGA的自适应算子对局部搜索有提升作用。但在10代至60代目标函数值在较长时间变化缓慢,直至50代左右出现新的波动且随后再次陷入局部解,如图13(a)的子图中所示。相比AGA,图13(b)中BAGA在15代左右寻到最优解,种群个体的平均值在20代靠近最优解。

AGA 中期陷入局部解较长时间,期间有两次阶梯状下降但间隔时间较长。同时图13(b)中罚函数随着种群逐渐满足约束条件而迅速归零,AGA 从13 代开始便无法有效利用不可行解。以上现象表明自适应算子在中期寻优效率不高,更主要在高选择压力下基因操作得到优质不可行解通过罚函数加权无法与可行解竞争,另一方面,自适应变异和重组只能从当前可行解寻优,搜索空间变小一方面降低了局部寻优能力。自适应无法满足需求、高选择压力、解的空间缩减三方面削弱了局部搜索能力,最终解在中后期陷于局部解并无法收敛。

图13 BAGA和GA典型收敛历史曲线比较Fig.13 Comparison of typical convergence history curves of BAGA and GA

同样是罚函数,BAGA 的罚函数项在11 代归零失去导向作用,但图13(c)中由40个个体组成的种群目标函数值在有效下降,并最终在30 代完成全部收敛。图13(c)可以简单分为三区:30代之后,种群收敛并呈现出较大区域的平稳,定义为A 区;15 代之前,定义为C 区;算法找到最优解后的15~30 代之间,定义为B 区,因为精英个体找到最优解,迅速反馈到整个种群中,B 区表现为随着迭代代数增加种群目标函数平均值有较大幅度的下降趋势。

本文算例中启发规则通过区分变量并采用不同的进化策略可以减少运算量、加速算法收敛。图14(a)展示了迭代过程中的启发规则变化情况,仅利用前20 代历史数据并保持稳定为[1 0 1 1 0 0 1 1 0],体现了映射规则的伪代码中数据驱动代码的高效性;编号为2、5、6、10的个体对目标函数的历史敏感性分类属性波动更替,最终在20 代全部确定为0,也证明了本文数据驱动策略具有一定的鲁棒性。

此外,启发规则对杆件分类的结果吻合拓扑优化在相同荷载条件下的主要传力路径关,符合一定的工程经验。图14(b)、(c)依次为线宽代表杆件尺寸的尺寸优化和以灰度代表变密度大小的拓扑优化,图14(c)采用变密度法[18]以过滤灰度为0.5作图,对比图14(b)可见变密度法所得传力路径与启发规则分类变量重要性的尺寸优化结果无较大出入,证明了启发规则分类杆件的正确性,具有一定的物理意义。

图14 算法优化结果与拓扑优化的传力路径对应Fig.14 Optimization results of algorithm correspond to transmission path of topology optimization

启发规则不是算法收敛的必要条件,它是随机优化在历代数据内归纳总结的有序优化方或物理规律,有助于通过减少运算量的方式提高计算效率。BA算子从优秀个体出发开发不可行解域得到优秀不可行解的方式主导并加强了局部搜索能力,通过保证解的多样性才是确保全局收敛的有效措施[19]。

4 结束语

强化个体的探索引导种群,通过BA 对个体的开发弥补GA个体探索的空白,提出了BAGA增强高压选择下算法的局部搜索能力。针对变量对目标函数的灵敏度分类,基于数据驱动改进后的BAGA 减少了算法杂交后的复杂度,数值模拟实验对比可得BAGA 具有可行性和准确性,相比于现有的元启发式算法具有更好的稳定性。

BA算子本身以个体探索为方式便于移植到其他算法是竞争和合作协作进化的新算子。可以通过修改天牛搜索算子中的参数增加个体和群体的相互作用,将其拓展到更为复杂的应用背景,为其他算法在不同优化阶段增强其导向作用和局部搜索能力。

数据驱动策略对不同变量基于目标函数的灵敏度分析,可得到启发规则并根据对应进化策略的权重优化变量的进化路径,降低杂交算法增加的运算量。数据驱动下的灵敏度启发规则,其原理不依赖于具体的问题,可适用于求解其他工程问题,具有较强的可移植性。此外变量的分类亦可增强算法的导向作用,提高计算的运行效率和稳定性。

猜你喜欢

天牛算子变异
天牛到底有多牛
拟微分算子在Hp(ω)上的有界性
变异危机
变异
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
黑黄花天牛
巨型昆虫——天牛
Roper-Suffridge延拓算子与Loewner链
变异的蚊子