基于混合教与学算法的结构可靠性优化设计
2021-07-27姜封国王路曈裴廷瑞
姜封国, 郭 威, 王路曈, 裴廷瑞
(黑龙江科技大学 建筑工程学院, 哈尔滨 150022)
0 引 言
结构可靠性优化设计是结构优化设计领域中的一个重要方向。结构可靠性优化设计是以可靠性指标作为约束条件,对结构进行优化设计。目前,计算结构可靠性指标的方法有验算点法、宽界限法、窄界限法、蒙特卡罗法、概率网络估算值技术等[1-4]。结构可靠性优化方法有乘子法、罚函数法、复合形法等,这些方法可以得到很高的精度,但计算过程复杂。为了解决传统优化方法存在的困难,学者们将启发式智能优化方法应用于结构可靠性优化设计中。姜封国等[5]将混合遗传算法应用到随机结构可靠性优化设计中。程跃等[6]采用混沌粒子群算法研究结构可靠性优化设计。郑灿赫等[7]构造了PSO-DE混合算法,将该算法应用到可靠性优化设计中。龙周等[8]将SMOTE算法与BP神经网络模型相结合,提出了改进的BP神经网络模型,对船舶的可靠性优化结果表明,该方法提高了优化效率和优化精度。以上学者都是将两种算法进行混合,这是由于单一算法的不足,造成优化结果不理想。
教与学算法(Teaching-learning-based optimization,TLBO)是印度学者Rao等[9]提出的一种新的启发式优化算法。与其他优化算法相比,教与学算法具有收敛性能好,算法中参数较少,数学模型简单等优点。目前,在函数优化,工程参数优化等问题中得到了广泛应用[10-12],但教与学算法存在搜索过程中容易陷入局部最优以及收敛速度慢等不足。禁忌搜索算法(Tabu search,TS)最早是由Glover[13]在1986年提出的,该算法具有局部搜索能力强及收敛速度快等优点,但存在对初始解有依赖性强的缺点。
针对结构系统可靠性优化问题,笔者将TLBO-TS混合算法与结构可靠性分析方法相结合,提出了基于结构可靠性TLBO-TS混合算法的优化设计模型。该模型的特点是以结构质量最小化为单目标函数,以可靠性指标和截面面积为约束条件,通过六杆桁架结构算例,验证该混合算法在可靠性优化设计方法的可行性与适用性。
1 混合教与学算法
1.1 基本的教与学算法
教与学算法模拟了以班级为单位老师向学生教授知识和学生之间相互学习的两个过程。在算法中,每个班级就是一个种群,每个班级的学生人数就是种群的规模,学生学习的科目就是种群的维度,学生就是种群的个体,教师就是当中最优的个体。TLBO算法分为两个阶段,教师对学生的教阶段和学生之间的相互学习阶段。
初始化种群是通过式(1)初始化每个个体,计算个体的适应度值。
(1)
式中:rand(x)——0和1之间的随机数;
教阶段是通过式(2)得到新个体然后计算其目标函数值,与旧的个体进行比较,如果优于旧的个体则新个体取代旧的个体。
xn=xo+rand(xt-TFxm),
(2)
式中:xt——当前群体的全局最优个体;
TF——教学因子,TF=round(1+rand(0.1));
round——取整符号;
xm——群体的平均值。
学生阶段是学生们为进一步提高自己的知识,学生之间会相互学习。这一阶段的过程表示为
(3)
式中,f(x)——每个学生的适应度函数。
1.2 改进的教与学算法
在教与学算法中,教学因子是群体平均值的参数,它的取值只能是1或者是2。在结构优化问题中,适应度值较小为最优值。通过式(1)表明,取较大值,得到的新个体较小,其适应度值也较小,说明学生学到的知识就多,反之,取较小值,说明学生学到的知识较少。体现到优化算法中,取较小值,表明算法的局部搜索能力强,但是全局搜索能力弱;取较大值,表明算法的全局搜索能力强,但是局部搜索能力弱。
学生得到的知识过程是经过一段的学习时间后,学生知识水平就会提高,与老师的知识水平差距就会缩小,但是得到的知识也会越来越少。在基本的教与学算法中,教学因子随机取值,不能真正体现学生得到知识的过程,为了解决此问题,文中借鉴文献[14]对TLBO算法中的教学因子做了非线性递减的改进,其表达式为
(4)
式中:TFmax、TFmin——教学因子的最大值与最小值;
r——调节参数,控制TF的变化率,文中取值r=1;
t、tmax——当前的迭代次数、最大迭代次数。
由式(4)可以看出,随着迭代次数的增加,教学因子由最大值向最小值靠近。说明在迭代前期取值较大,即表明在前期算法全局搜索能力强;在迭代后期取值较小,即表明在后期算法局部搜索能力强,在算法搜索后期可以得到较高精度的解,体现学生得到知识的过程。
1.3 禁忌搜索算法
该算法的基本思想是,首先根据优化问题的初始解,选择一个邻域结构,然后在初始解的邻域结构中随机选择出候选解。将最佳候选解与初始解的适应度进行比较,若最佳候选解的适应度比初始解的适应度更优,则最佳候选解将取代初始解。在此基础上,引入了禁忌表,该禁忌表记录了最近搜索过程中出现的解,禁止这些解在最近搜索过程中再次出现,避免陷入局部最优解。同时,增加一个特赦准则,若禁忌表中的适应度值优于当前解,则将该解从禁忌表中释放出来并代替当前解继续进行迭代计算,这样可以增加种群的多样性。禁忌表的长度随优化问题而异,笔者将禁忌表的长度设置为5。禁忌搜索算法的基本流程分为6步。
步骤1根据问题设置初始解,置空禁忌表,设置禁忌表长度等。
步骤2将初始解作为当前解,判断是否满足收敛准则。若满足收敛准则,输出最优结果,终止计算,若不满足继续步骤3。
步骤3构造邻域函数,利用当前解产生候选解集,随机选取候选解。
步骤4选取适应度最优的候选解。
步骤5判断候选解是否满足藐视准则,若满足,将候选解作为当前解,并将原来的当前解替换最早进入禁忌表中的变量,若不满足,则放入到禁忌表中。
步骤6继续步骤2。
1.4 TLBO-TS混合算法
TLBO-TS混合算法流程分为5步。
步骤1初始化种群,设置种群数量,确定优化问题的维度,以及迭代次数及变量的取值范围。
步骤2通过式(2)更新个体,其中式(2)中的教学因子用式(4)取代,根据适应度最优值进行选择。
步骤3通过式(3)在学阶段更新个体,根据适应度最优值进行选择。
步骤4进入禁忌搜索阶段。
步骤5判断是否满足最大迭代次数,若没有,则返回步骤2;若达到终止条件,则输出结果。
TLBO-TS混合算法利用了改进教与学算法全局搜索能力强和禁忌搜索算法局部搜索能力强的特点,提高了该混合算法跳出局部最优解的能力。
2 结构可靠性优化设计方法
2.1 结构可靠性优化模型
结构可靠性优化设计方法是,在可靠性指标的约束条件下,选取各元件合理的截面使结构系统的质量最小。求解该结构系统最小质量的优化模型可以表示为
(5)
式中:ρi、Li、Ai——元件i的密度、长度、截面面积;
Al和Au——截面面积的上限与下限。
2.2 结构可靠性指标和优化设计收敛准则
首先,将结构系统近似成为一个串联系统,将每个元件作为一个失效单元,然后,计算各元件的失效概率,最后,将各元件的失效概率之和作为系统的失效概率。虽然计算的结果有误差,但是在大于容许可靠性指标的情况下是可行的,这样既避免了寻找失效模式,又大大减少了计算量。
假设元件i的功能函数可表示为
Zi=g(xi)=R(xi)-S(xi),
(6)
式中:R(xi)——元件i上所有抗力因素的集合;
S(xi)——元件i上承受所有荷载的集合。
可靠性指标为
(7)
式中:μZi——元件i功能函数的均值;
σZi——元件i功能函数的标准差。
元件失效概率Pfi与元件可靠性指标βi的关系为
Pfi=φ(-βi),
(8)
式中,φ(-βi)——标准正态分布函数。
(9)
βs=-φ-1(Pf)。
(10)
结构系统的可靠性分析及优化设计问题通常是复杂和困难的,为了提高可靠性优化的稳定性和收敛速度,文中将下列收敛准则[15]应用于TLBO-TS的可靠性优化设计中:
(11)
(12)
(13)
其中,ε1、ε2、ε3都是远小1的数值,在10-4~10-3范围内。
2.3 结构可靠性优化流程
将混合的教与学算法与结构可靠性优化设计理论相结合,充分利用改进的教与学算法和禁忌搜索算法的优点,对结构进行可靠性优化设计。其具体的优化步骤分为8步。
步骤1设定参数,最大迭代次数,设置班级人数即种群数量,搜索的空间,置空禁忌表等。
步骤2初始化种群,通过式(1)初始化每个个体,计算个体的适应度值。寻找班级中最优的个体,计算班级同学平均水平。
步骤3对结构进行可靠性分析,分析各个个体是否满足式(5)的约束条件。若满足约束条件,则进行步骤4,否则,将该个体的适应度值分配一个较大的值,在优化过程中会自动丢弃。
步骤4由式(2)、(3)更新个体,其中式(2)中的教学因子用式(4)取代。
步骤5将改进教与学算法获得的最优解设置为禁忌搜索算法的初始解。
步骤6进行禁忌搜索并获得候选解集,求出各个候选解的适应度值,找到最优解。
步骤7更新最优解,从候选解集中获得最优解,若最优解不在禁忌表中,则更新最优解,否则用次优解代替,更新禁忌表。
步骤8若满足式(11)~(13)收敛准则,则搜索结束,输出优化结果,否则返回到步骤3。
基于混合教与学算法的结构可靠性优化流程图1所示。
图1 基于TLBO-TS的结构可靠性优化流程 Fig. 1 Flow of structural reliability optimization based on TLBO-TS
3 数值算例
3.1 算例概况
图2 杆桁架结构Fig. 2 Structure of 6-bar truss
在两种不同荷载情况下,对6杆桁架结构进行优化计算。工况Ⅰ:F1=46.225 3 kN,F2=28.224 7 kN、F3=16.099 5 kN;工况Ⅱ:F1=53.803 4 kN,F2=23.945 3 kN,F3=16.099 5 kN。文中的初始种群数量为10,问题的维数是6。
3.2 算例分析
基于TLBO-TS算法对结构可靠性的进行优化设计,在相同的条件下,对6杆桁架结构分别结合TLBO算法和TLBO-TS算法进行可靠性优化,情况1、2的优化曲线如图3所示,与文献[7]的优化结果进行对比,结果如表1所示。
图3 不同荷载状态下的优化曲线Fig. 3 Optimization curve under different load conditions
由图3a可知,TLBO-TS算法迭代20次后达到目标的函数值6.373 4 kg,而TLBO算法迭代20次后才达到目标的函数值6.827 kg。由图3b可知,TLBO-TS算法迭代20次后达到目标的函数值6.407 0 kg,而TLBO算法迭代20次后才达到目标的函数值6.782 0 kg。总之,在不同的荷载情况下,TLBO-TS混合算法的优化结果优于基本的TLBO算法,优化结果比较理想。
从表1可知,工况Ⅰ,TLBO算法、PSO-DE算法、TLBO-TS算法的目标函数分别为6.827 0、6.452 7、6.373 4 kg,表明TLBO-TS算法优化的结果较好,较TLBO算法减少6.64%,较PSO-DE算法减少1.2%。工况Ⅱ,TLBO算法、PSO-DE算法、TLBO-TS算法 目标函数分别为6.782 0、6.459 4、6.407 0,表明TLBO-TS算法优化的结果较好,较TLBO算法减少5.85%,较PSO-DE算法减少0.82%,说明TLBO-TS算法具有搜索效率高的特点。
表1 桁架结构的优化结果
4 结 论
(1)在基本的教与学算法基础上,通过基本教与学算法中的教学因子进行非线性递减改进,提高了教与学算法的收敛速度,将改进的教与学算法与禁忌搜索算法进行混合,提出了混合的TLBO-TS算法。
(2)针对结构系统的优化设计,将混合的教与学算法应用于结构可靠性的优化设计中,算例结果表明,TLBO-TS混合算法比基本的TLBO算法和PSO-DE混合算法能取得更优的计算结果,在两种模拟工况下目标函数较TLBO算法分别减少6.64%和5.53%,说明该优化设计方法可以应用于复杂结构系统的可靠性优化设计中。