基于非线性收敛因子和标杆管理的改进教与学优化算法
2022-11-24陈雪芬叶春明
陈雪芬, 叶春明
(上海理工大学 管理学院,上海 200093)
群智能优化算法是一类基于种群的全局优化技术,同传统的精确算法不同,它们更擅长于求解具有大规模、非线性、多极值、不可导及不可微等特征的非常规问题。随着人工智能、大数据以及云计算等技术的快速发展,复杂优化问题的数量和规模与日俱增,这些问题往往难以用常规数学方法求解,而群智能算法则成为相对可行的解决方案。自1992 年遗传算法(genetic algorithm,GA)[1]提出以来,众多模拟自然规模或者物种动态演化的群智能算法相继被提出。在群智能算法“家族”中,具有很多知名的成员,它们深受研究者的青睐, 如粒子群算法(particle swarm optimization, PSO)[2]、和声搜索算法(harmony search algorithm, HS)[3]、人工蜂群算法(artificial bee colony algorithm, ABC)[4]、 引 力 搜 索 算法(gravity search algorithm, GSA)[5]、蛾焰优化算法(moth-flame optimization algorithm, MFO)[6]、哈里斯鹰算法(Harris hawks optimization, HHO)[7]和灰狼算法(grey wolf optimization algorithm)[8]等。这些算法各有利弊,适合解决不同的工程优化问题。然而,随着新问题的不断产生,它们有可能都不再适用。面对不断产生的复杂问题,群智能算法的主要发展方向可分为两个,其一是设计新的算法去更好地解决问题,其二是对现有群智能技术进行改进以使其在求解问题时性能更佳。
教与学优化算法(teaching-learning-based optimization algorithm, TLBO)[9]是2011 年Rao 等基于一个自然班级中老师与学生间的教学行为而提出的一种群智能优化算法。人类是自然界最聪明的生物,因为,他们可以通过不断地学习获得丰富的知识和技能,课堂教育是学生获取知识的重要途经。在课堂上,教师通过设计课程、设计教学计划、实施教学活动和反思等一系列教学活动,努力提高班级平均成绩。同时,学生也通过努力学习和与其他人交流来提高自己的表现,实现整个团队的动态优化。TLBO 很好地表征了人类的教学行为,而且具有不需要其他特殊参数、计算量小、一致性高等优势。但是,它依然存在着收敛速度不够快、解的质量不够高、在某些问题上局部最优避免性差等问题。因此,许多学者对其进行了改性研究。例如,为提高TLBO 的求解质量以及加快TLBO 的收敛速度和运行时间,Li等[10]于2013 年提出了一种改良的教与学优化算法A-TLBO,并利用A-TLBO 对最小二乘支持向量机的超参数进行了优化调整及验证;为提升算法性能,于坤杰等[11]于2014 年提出一种基于线性衰减收敛因子和信任权重的改进TLBO;为解决TLBO寻优精度低、稳定性差的问题,闫苗苗等[12]于2019 年设计了一种多班级交互式教学优化算法(multi-classes interaction TLBO, MCITLBO)。然而,这些改性算法的设计要么使得计算成本增高,要么添加了一些需要调整的特殊参数。因此,本研究基于新的优化策略提出一种改进教与学优化算法。
2 种改进策略分别是非线性收敛因子调整策略以及标杆管理策略。对于收敛因子,在标准TLBO 中,收敛因子是随机取值为1 或2,这种策略显然不符合实际,因为,随着教学经验的累积,教师的教学水平也应该得以提升。从算法角度来看,为加快收敛,算法的收敛因子应该随种群所获得的信息量进行动态调整,而不是笼统地设为1 或2。此外,标杆管理是一种先进的管理学思想,针对学习阶段随机学习所导致的“无效学习”等问题,在班级中推选精英组,进而建立班级学习标杆,可以更好地帮助班级成员学习到更多“有用”的知识。从算法角度来看,标杆管理策略进一步主导了种群朝着正确的方向进化,从而加快了算法的收敛速度,使得算法有更多的精力致力于全局最优解的局部开发。为验证改进策略的有效性,基于2 种策略的部署组合提出了3 种改进教与学优化算法(modified teaching-learningbased optimization algorithm,MTLBO)的变体,并通过11 个基准测试函数进行了实验对比。随后,为进一步验证提出算法的性能,使用性能最优的MTLBO与其他著名的优化算法进行了实验验证与分析。
1 教与学优化算法
TLBO 的灵感来源主要是课堂上师生之间的教与学行为,其设计思想主要是基于一个典型的优化系统(即教学活动)的构建。在该系统中,TLBO将一个自然班级视为动态演化的种群,老师和学生都可作为种群中的搜索代理,他们的知识水平或考试成绩作为群智能优化算法的适应值。
在TLBO 中,以正态分布来表示班级学生的成绩分布情况,如式(1)所示。
图1 不同教师的教学效果分布图Fig.1 Distribution of grades obtained by students taught by two different teachers
图2 展示了教学活动前、后的班级成绩的变化情况。其中,曲线A 和曲线B 分别表示在教学活动之前和之后的全班成绩分布,MA和MB分别表示教学前后的全班平均成绩,TA和TB分别表示教学前后的最佳个体,即班级教师。
图2 教学活动前后班级学生成绩分布图Fig. 2 Distribution of grades obtained by students taught by a teacher
假设班级人数为N,则其基本种群的数学表示如式(2)所示。
简单来讲,教与学优化算法可划分为2 个阶段:教学阶段与学习阶段。
1.1 教学阶段
在教学阶段,班上最优秀的个体被指定为老师。 教师的目标是向所有学生传授知识,并尝试将班级的平均成绩提高到自身水平。假设当前的迭代次数为k, 并且令Mk为所有个体的平均成绩,而Tk为迭代次数为k时的教师。 当前班级平均成绩与教师水平之间的差异
1.2 学习阶段
在学习阶段,学生之间通过两两交流学习来增长知识,交流的方法主要包括小组讨论以及个人经验介绍等。这一阶段具体的算法实施步骤如下:(6),否则表示为式(7)。
2 改进的教与学优化算法
2.1 非线性收敛因子
在教学阶段,教师的教学因子TF是一个关键参数,它可以决定学生个体在多大程度上依据均值Mk进行位置更新。在基础TLBO 中,TF在每一次迭代中等概率地取值为1 或者2。然而,这种随机改变并不能科学地表征群体行为。在设想中,学生随着学习进程的推进其自主性更强,随着知识和学习方法的积累其学习能力也会得到相应的强化。在经过大量数值实验之后,发现TF大于2 更有利于群体收敛,算法能够更快地逼近全局最优解。从现实角度来讲,TF大于2 意味着这个班级的教师教学水平和学生学习能力都很强,这是一个高效的班级,可以类比学校中的“重点实验班”或“尖子班”。同时,随着教学活动的不断深化与推进,教师的教学水平也会相应地得以提升,而不是一贯地随意分配为1 或者2。为更好地表征上述现象,本文设计了一种随着迭代进行非线性变化的收敛因子,如式(8)所示。
式中:k表示当前迭代次数;T表示最大迭代次数。
2.2 标杆管理策略
在传统TLBO 的学习者阶段,班级成员通过相互交流和学习来增加他们的知识。然而,这种学习方法有一定的缺点。最重要的一点是,班级成员缺乏优秀个人的指导。这种相互交流和学习是杂乱无章的,没有一定的基准和标准,因此,可能会导致很多无用的“学习”。从种群进化的角度来看,这种无效学习策略的存在会使种群在一定程度上朝着错误的方向进化。
为解决上述问题,引入了标杆管理的概念。标杆管理又称为基准管理,是管理学中的一种重要思想,一般用于企业管理当中。具体地,标杆管理是指企业将自身情况与行业内龙头企业进行比较,从而得以借鉴他人先进经验,改善自身缺陷[13-15]。这一理念同样适用于群智能优化算法的种群进化,对于TLBO,场景类似度极高。因此,将之引入到TLBO 的学习阶段,即对学习阶段进行“标杆管理”。
首先,需要在当前种群中选择合适的标杆个体,该个体代表着班级中的精英组[16]所具有的知识,具体算法设计与建模过程如下:每次迭代中,对通过教学阶段的新班级按照个体的成绩(即适应值) 进行排序,选择成绩最好Xs和第二的Xc个体组成精英组。标杆个体由精英组内推选产生,其为当前班级中成绩最佳的个体。现介绍标杆个体推选的具体实施步骤。
推选精英组,如式(9)所示。对组内个体求均值得到备选标杆Xb,在备选标杆和最佳个体之间依适应值最佳原则选出最终标杆。如果f(Xb)<f(X),则选定Xb为最终标杆Xe;否则,选定Xs作为最终标杆Xe。
式中:Gl为精英组。
然后,班级个体依据推选出的标杆进行学习。算法实施中,其他个体依据标杆进行位置更新的公式如式(10)所示。
2.3 MTLBO 算法
综合使用改进策略的改进教与学优化算法(MTLBO)步骤如下:
a. 参数初始化。设定种群规模N,总迭代次数T。
b. 待解问题参数空间范围内进行班级种群初始化,并计算每个个体的适应值。
c. 令t=1,迭代开始。
d. 教学阶段开始,计算Mk,依据式(8)计算TF。
e. 计算D,班级个体依据D更新位置。
f. 更新班级所有个体适应值,教学阶段结束。
g. 学习阶段开始,推选标杆个体Xe。
h. 班级个体以Xe为榜样根据式(10)更新位置。
i. 更新班级所有个体适应值,学习阶段结束。
j. 判断是否满足循环终止条件,若是,返回全局最佳解;否则,令t=t+1,返回步骤d。
3 实验与分析
为验证非线性收敛因子和标杆管理策略的引入对算法性能的影响,选择11 个著名的基准测试函数进行2 组对比实验。在第1 组对比实验中,依据对2 种改进策略的不同部署情况,构建了3 种MTLBO 的变体,新设计的MTLBOs 与标准TLBO 进行了实验对比与分析。在第2 组对比实验中,为进一步验证设计策略的有效性,选择了其他几种应用广泛的群智能优化技术进行对比实验与分析。所有实验涉及代码均是使用Python 3.7 编程实现,且所有实验均在Window 操作系统下实施。为全面衡量算法性能,使用了多个维度的基准测试函数进行实验。同时,为保证测试结果的鲁棒性,每个测试实验均以30 次独立运行得到的均值和标准差作为最终的衡量依据。
测试中的11 个基准测试函数包含6 个单峰测试函数以及5 个多峰测试函数,如表1 所示。单峰测试函数为F1~F7,它们在搜索空间中只有一个严格局部最优值,因而可以用于测量算法的收敛性;多峰测试函数为F8~F12,它们在搜索空间中往往具有多个局部最优解,因而可以用于度量算法的局部最优避免能力。
表1 基准测试函数Tab.1 Benchmark function
3.1 MTLBOs 与标准TLBO 的比较
对比算法为TLBO 和MTLBOs,这2 种算法本身不需要其他参数,但在实验前,首先要对2 个群智能优化算法的超级参数进行设定。对于种群尺寸和最大迭代次数,分别设定为20,1 000。表2 列出了待比较的TLBO 和3 种MTLBO 的变体MTLBO1,MTLBO2,以及MTLBO3,表3和表4分别展示了4 种对比算法在11 个10 维和30 维基准测试函数上的实验结果,表5 展示了各算法30次独立运行中的运行总时间(单位:s)。在表3~5中,粗体表示获得的最佳结果。
表2 对比算法及描述Tab.2 Comparison algorithms and description
从表3 和表4 可以看出,对于函数F1 和F3,MTLBO2 和MTLBO3 在2 个维度上均获得理论最优解,同时,标准差为0 说明算法在解决问题F1 和F3 时的鲁棒性非常高。对于函数F1 和F3,MTLBO3 效果最佳,MTLBO2 次之,标准TLBO最差。对于函数F5,MTLBO1 的结果优于其对比者。对于函数F6,MTLBO3 和MTLBO2 的结果排在前两位,其中,当维度为10 时,MTLBO3 略胜一筹;当维度为30 时,MTLBO2 的结果要更好。对于函数F9 和F11,所有算法均取得其理论最佳解,后文将从收敛速度方面进行进一步比较分析。对于函数F8,MTLBO3 和MTLBO2 求得更好的数值结果。对于函数F10,当维度为10 时,MTLBO2 结果最优,MTLBO3 次之;当维度为30 时,MTLBO3 结果最优,MTLBO2 次之。对于函数F11,标准TLBO 的结果胜过其他对比算法。
表3 TLBO 和MTLBOs 在10 维基准函数上的实验结果Tab.3 Experimental results of TLBO and MTLBOs on 10-dimensional benchmark functions
表4 TLBO 和MTLBOs 在30 维基准函数上的实验结果Tab.4 Experimental results of TLBO and MTLBOs on 30-dimensional benchmark functions
从表5 可知,在不同维度下各算法的计算效果差异明显。当函数维度为10 时,MTLBO1 在函数F1,F2,F3,F7 上运算效果更快,MTLBO2在函数F4,F6 上计算时间最短,MTLBO3 在函数F4,F5,F10 和F11 上优于其他算法,TLBO则在函数F8 和F9 取得最短的运算时间。当函数维度为30 时,MTLBO1 在函数F7,F8,F9 上效果最佳, MTLBO3 在函数F10,F11 上具有最高的计算效果,TLBO 在单峰测试函数F1—F6 上的运行时间优于其余算法。
表5 对比算法运行时间Tab.5 Comparison of running time for algorithms s
根据以上分析,综合使用前面2 种改进策略的MTLBO3 表现最优,它在大多数问题上获得最佳数值结果。同时,仅使用标杆管理策略的MTLBO2 表现颇佳,仅在少数问题上稍弱于MTLBO3。综合来看,MTLBO3 和MTLBO2 明显改进了标准TLBO 的求解性能。此外,仅使用非线性收敛因子策略的MTLBO1 也在大多数问题上胜过标准TLBO,尽管从数值上来看提升的幅度不大。从计算效率的角度来看,TLBO 和3 种MTLBOs在不同维度的不同问题上存在一定差异,当函数维度较低时,MTLBO1 和MTLBO3 具有更高的运算效率;当维度较高时,TLBO 在单峰测试函数上的运行时间优于其余算法,MTLBO1 和MTLBO3在多峰测试函数上表现颇佳。综上所述,改进算法在不增加时间成本的前提下改进了TLBO 的性能,本文所提出的2 种策略都是有效的,尤其是标杆管理策略。
3.2 与其他群智能优化算法的比较
第一组实验主要对MTLBOs 和TLBO 进行了实验比较与分析,基于分析结果,选择表现最佳的MTLBO3 进行后续实验。选择一些其他著名的优化器,如HS,PSO,MFO 和GA 实施对比实验。表6 列出了对比算法和相应的参数设定值。依据表6 所列, PSO,MFO 和GA 的种群规模设为40,TLBO 和MTLBOs 的种群规模设为20,这是因为TLBO 和STLBO 在一次迭代中共有2N(种群规模)次函数评估,而在PSO,MFO 和GA 的运行过程中每次迭代仅有N(种群规模)次函数评估。在这类算法中,算法的函数评估环节是其时间复杂度的主要部分,因为,为保证各对比算法时间复杂度一致,必须要保证各对比算法的函数评估次数一致。另外,除HS 外其余算法的种群总迭代次数均为1 000。对于HS,最佳种群规模为5~7,且在一次迭代中仅有一次函数评估,因此,HS 的种群规模和迭代次数分别设为40 000 和6。总而言之,为保证无偏性,经过种群规模和总迭代次数的设定,各算法的总函数评估次数均设定为40 000 次,这保证了各对比算法的时间复杂度大致相同。
表6 对比算法及参数集Tab.6 Comparison algorithms and parameter sets
如表6 所示,HS,PSO 以及GA 这3 种算法还存在一些特殊参数。对于HS,HMCR,PAR和BW分别表示和声记忆库取值概率、音调调整概率和调音带宽,取值分别为0.9,0.3 和0.1;对于PSO,vmax代表粒子移动的最大速度,w1,w2表示初始权重和最终权重,c1,c2分别表示认知参数和社会参数,5 种参数的取值依次为20,0.9,0.4,1.2 和1.2;对于GA,选择轮盘赌染色体复制策略、均匀交叉策略以及随机选择变异策略,其中,pc,pm分别表示染色体交叉概率、变异概率,取值分别为0.7 和0.3。以上算法中各个特殊参数的取值均是在原始论文基础上多次实验的经验值。
表7 列出了对比算法在40 维测试函数上的实验结果,粗体显示最佳结果。由表7 可知,MTLBO3在函数F1—F4 上远胜过其他对比方法,其次是TLBO,其中,对于函数F1 以及F4,MTLBO3 获得的均值和标准差均为0,这说明该方法每次实验均可以得到理论最优解,其鲁棒性较强。对于函数F5 和F11,TLBO 略胜于MTLBO3,获得最好的数值结果。对于函数F6 和F10,MTLBO3 的数值结果胜过其他对比方法。最后,对于F7 和F9,TLBO 和MTLBO3 均得到理论最优解,优劣无法从数值结果得出,下面将进一步利用收敛曲线进行对比。可以看出,MTLBO3 的数值结果在大多数问题上优于其他对比算法,且在4 个函数优化问题(F1,F3,F7 以及F9)上1 000 次迭代内均收敛到理论最佳解。此外,MTLBO3 在大多数问题上具有最小的方差,这说明算法性能稳定,鲁棒性较好。
表7 6 种对比算法在基准函数上的实验结果Tab.7 Experimental results of six algorithms on the benchmark functions
HS,PSO,GA,MFO,TLBO 以及MTLBO3这6 种算法在11 个测试函数上30 次独立运行的总时间列于表8。由表8 可知,TLBO 和MTLBO 的运行时间明显优于其他算法。具体地,TLBO 在函数F1,F2,F3,F6 以及F8 上取得最短的运行时间,而MTLBO3 则在函数F4,F5,F7,F9,F10以及F11 具有最高的计算效率。总体上讲,MTLBO3和TLBO 计算效率差异不大,MTLBO3 略胜一筹,同时前者在计算精度上优于后者。
表8 6 种对比算法在11 个测试函数上的运行时间Tab.8 Running time of 6 comparison algorithms on 11 test functions s
为进一步对比算法性能,画出了6 种对比算法在部分基准测试函数上的收敛曲线,如图3 所示。可以看出,MTLBO3 在所有问题上均具有最高的收敛速度。综合表7 中的数值结果,尽管在函数F5 上TLBO 数值结果更优,但是,MTLBO3的收敛速度更快。此外,在函数F7 和F9 上,MTLBO3 的收敛速度都快于TLBO。综上所述,MTLBO 明显改进了标准TLBO 的搜寻性能。
图3 6 种比较算法在部分测试函数上的收敛曲线Fig.3 Convergence curves of 6 comparison algorithms on some test functions
3.3 约束优化问题
由于函数F1—F11 均为无约束优化问题,为进一步验证本文所设计策略的有效性,使用一个约束优化问题-拉伸/压缩弹簧设计优化问题进行实验。该优化问题的目的是弹簧质量的最小值,其中,包含线径d,平均线圈直径D'和有效线圈数N'这3 个设计变量,以及与剪应力、弹簧颤动频率和最小挠度相关4 个约束条件。拉伸/压缩弹簧设计优化问题的物理模型如图4 所示,数学模型如下:
图4 拉伸/压缩弹簧设计优化问题Fig. 4 Tension/compression spring design problem
设计变量范围
所有算法在30 次独立运行中所得到的最佳实验结果如表9 所示。其中,算法HS,PSO,GA,MFO 以及MHHO 的实验结果直接来源于文献[17]。由表9 可知,基于非线性收敛因子策略的MTLBO1的结果优于其他对比算法,MTLBO2 和MTLBO3的实验结果却要差于原始TLBO。因此,在使用教与学优化算法解决拉伸/压缩弹簧设计优化问题时,非线性收敛因子策略依然是一种有效的策略,而标杆管理策略不再适用。综上可知,在使用教与学优化算法求解无约束优化问题时,设计的2 种策略均是有效的,特别是标杆管理策略效果显著,而在求解无约束优化问题时,仅有非线性收敛因子策略有效。
表9 拉伸/压缩弹簧问题结果对比Tab.9 Comparison of results for tension/compression spring problem
4 结束语
针对标准TLBO 寻优精度不高、局部最优避免性差以及收敛速度较慢的问题,本文在TLBO的基础上引入2 种改进策略:非线性收敛因子调整策略以及标杆管理策略。随后,基于2 种策略的数学组合设计了3 种MTLBO 的变体,为验证改进算法的性能,通过一组函数优化问题与标准TLBO 进行了实验对比与分析。结果显示,3 种MTLBO 都胜过标准TLBO,其中,引入2 种改进策略的MTLBO3 表现最优,其很好地平衡了算法的全局搜索性和局部开发性,数值结果远胜于标准TLBO。为增强说服力,使用著名的群智能优化算法与MTLBO3 进行了实验对比与分析。数值结果、计算效率和收敛曲线表明,MTLBO3 在寻优精度、局部最优避免性以及收敛速度等性能上优于其他对比算法。最后,基于工程设计约束优化问题进一步验证2 种策略的有效性。结果表明,在无约束优化问题中,非线性收敛因子调整策略依然能改进TLBO 的性能,而标杆管理策略可能不再适用。