基于小班级并行教学的教与学优化算法研究

2018-01-19 11:35杨闰茅继晨
软件导刊 2018年10期

杨闰 茅继晨

摘要:针对教与学优化算法后期收敛速度慢,易陷入局部最优的缺陷,提出了一种小班级并行教学的教与学优化算法。该算法将学生分成两个班级,一个班级在教学阶段之前加入学生预习阶段,以提高算法的开发能力。另一个班级引入Metropolis准则,提高算法搜索能力。选择两个班级中成绩较好的学生组成一个临时班级,并选出其中优秀学生按一定比例替换两个小班级中成绩较差学生继续寻优。每次迭代后,临时班级中的学生根据成绩好坏更新一次,直到满足条件跳出循环。在测试函数上进行仿真实验,验证了该算法的有效性。

关键词:教与学优化算法;小班级并行教学;开发能力;搜索能力

DOIDOI:10.11907/rjdk.181334

中图分类号:TP312

文献标识码:A 文章编号:1672-7800(2018)010-0093-04

英文摘要Abstract:Aimed at the problem that the teaching and learning optimization algorithm is slow and easy to fall into the local optimal, a teaching and learning optimization algorithm for parallel teaching in small class is proposed. According to the algorithm, the students are divided into two classes, and one class participates in the student preview phase before the teaching phase to improve the development capability of the algorithm. In the other class, the Metropolis criterion is introduced to improve the search capability of the algorithm. Students with better grades from these two classes are chosen to form a temporary class, from which outstanding students are chosen to replace students with poor performance in certain proportion to continue the optimization.After each iteration, the students in the temporary class are updated once according to the grades until they fufill the condition and jump out of the loop.The effectiveness of the algorithm is verified by simulation test on the test function.

英文關键词Key Words:TLBO;double class parallel teaching;development capability;search capability

0 引言

教与学优化算法(Teaching and Learning Optimization Algorithm,TLBO Algorithm)是印度学者Rao等[1]在2011年提出的新型元启发式算法,该算法模拟班级中老师对学生授课及学生之间相互学习的过程。由于TLBO算法结构简单,易于理解,算法参数少,有极强的收敛能力[2-3],所以受到很多学者关注与研究,目前已经应用于诸多工程问题,如经济负荷调度问题[4]、线性相位数字FIR滤波器设计问题[5],以及乙烯裂解炉系统的循环调度问题[6]等。但由于TLBO算法有后期收敛速度慢、易陷入局部最优的缺点,需要对算法进行深入研究和改进[7]。

1 基本TLBO算法

TLBO算法是受到教学过程启发而提出的[8]。该算法有两个重要阶段:教学阶段与学习阶段。在教学阶段,选择成绩最好的学生作为老师,老师通过教学使学生成绩向自己的水平靠近,从而提高整个班级的平均水平。在学习阶段,成绩较差的学生通过与成绩较好的学生交流学习,提高自己的成绩[9-10]。

1.1 教学阶段

教学阶段主要模拟老师课堂教学过程,选择成绩最优的学生作为老师,老师通过向学生授课提高班级成绩,其表达式如式(1)所示[11]。

由表1数据可以看出,S-TLBO能搜索到f1、f2、f3函数的全局最优值,说明S-TLBO对于简单的单峰函数和一些复杂的难以寻优的函数都能找到全局最优解。对于f4函数,5种算法均未找到全局最优值,但是S-TLBO算法结果的质量明显好于其它4种算法。

为了直观反映S-TLBO算法的收敛性能与收敛趋势,绘制了S-TLBO、PSO与TLBO在f1~f44个函数上的收敛曲线,见图2-图5。为验证S-TLBO算法时间复杂度,绘制了算法对4种测试函数寻优平均运行时间的表格,如表2所示。3个算法的维度设为30,PSO与TLBO算法的种群个数设为10,S-TLBO的两个小种群个数分别设为5,对每个测试函数独立运行30次,迭代500代。

由图2可以看出,S-TLBO算法一直在收敛,直至寻找到全局最优解,PSO算法在搜索初期即陷入局部最优,直到最后都没有跳出局部最优,而TLBO算法虽一直处于寻优状态,但由于收敛速度慢,迭代500次后仍没有寻找到最优值。在图3和图4中,PSO算法和TLBO算法都陷入局部最优,而S-TLBO算法则很快找到了全局最优值。在图5中,虽然3种算法都没有寻找到全局最优值,但是S-TLBO搜寻到的解明显优于PSO和TLBO算法。在图2-图5中均可以看出,S-TLBO的收敛速度明显优于其它两种算法。

由表2可以看出,S-TLBO算法在函数寻优中花费的时间多于PSO和TLBO算法。经过分析可知,对于本文设置的参数,实现一次PSO算法和TLBO算法分别需要调用函数5 000次和10 000次。在S-TLBO中,由于在一个班级中加入了预习阶段,所以实现一次算法运行,需调用函数12 500次,随着调用函数次数的增多,时间也会相应增加。结合图2-图5,虽然S-TLBO调用函数次数近似线性增长,但对比其它两种算法,S-TLBO以指数趋势收敛到最优值,总体上看,算法性能改善明显。

4 结语

本文提出的小班级并行教学的教与学优化算法(S-TLBO),将学生分成两个平行班级,一个班级加入预习阶段,提高算法开发能力。另一个班级通过引入Metropolis准则,增加算法接受普通解的概率,使算法跳出局部最优,从而达到全局最优,提高了算法搜索能力。从测试函数的仿真结果可以看出,S-TLBO算法能有效跳出局部最优,在收敛速度、寻优精度等方面均有明显提升,验证了算法有效性。

参考文献:

[1] RAO R V,SAVSANI V J,Vakharia D P.Teaching-learning-based optimization:a novel method for constrained mechanical design optimization problems[J].Computer Aided Design,2011,43(3):303-315.

[2] 拓守恒,雍龍泉,邓方安.“教与学”优化算法研究综述[J].计算机应用研究,2013,30(7):1933-1938.

[3] 商立群,欧阳海滨,孔祥勇,等.带有交叉操作的教-学优化算法[J].东化大学学报,2014,35(2):323-327.

[4] YANG L,WANG Z S, HE D K. An improved teaching-learning-based optimization algorithm for solving economic load dispatch problems[C]. Industrial Informatics - Computing Technology,Intelligent Technology,Industrial Information Integration, 2017:337-340.

[5] SHARMA S,KATIYAL S,ARYA L D. An improved teaching-learning-based optimization algorithm applied to the design of linear phase digital FIR filter[C].New Delhi:Computing for Sustainable Global Development, 2015.

[6] YU K J, WHILE L. Cyclic scheduling for an ethylene cracking furnace system using diversity learning teaching-learning-based optimization[J]. Computers and Chemical Engineering,2017,99(1):314-324.

[7] RAO R V,PATEL V.An elitist teaching-learning-based optimization algorithm for solving complex constrained optimization problems[J].International Journal of Industrial Engineering Computations,2012,3(4):535-560.

[8] 王培崇.改进的动态自适应学习教与学优化算法[J].计算机应用,2016,36(3):708-710.

[9] 于坤杰,王昕,王振雷.改进的教学优化算法及其应用[J].化工进展,2014,33(4):850-854.

[10] 李志南,南新元,李娜等.多学习教与学优化算法[J].计算机应用与软件,2016,33(2):247-250.

[11] RAO R V,PATEL V.Multi-objective optimization of two stage thermoelectric coolers using a modified teaching-learning-based optimization algorithm[J].Engineering Applications of Artificial Intelligence,2013,26(1):430-445.

[12] 杨鹏.融合简化粒子群的教与学优化算法[J].河南师范大学学报,2016,44(6):159-164.

[13] 李智.智能优化算法研究及应用展望[J].武汉轻工大学学报,2016,35(4):1-9.

[14] BOURAHLA K,BELLI Z,HACIB T.New teaching-learnig based optimization algotithm with random local search:TLBO-RLS[C]. The 5th International Conference on Electrical Engineering-Boumerdes,2017:1-5.

[15] VENKATA R,Patel V.An elitist teaching-learning-based optimization algorithm for solving complex constrained optimization problems[J].International Journal of Industrial Engineering Computations,2012,3(4): 710-720.

[16] 吴展.基于改进TLBO算法的光伏阵列MPPT与分布式拓扑结构研究[D].重庆:重庆大学,2014.

[17] 岳振芳.教与学优化算法的改进研究[D].宁夏:宁夏大学,2016.

[18] 史峰,王辉,郁磊,等.智能算法30个案例分析[M].北京:北京航空航天大学出版社,2011.

[19] 陈得宝,魏华,邹锋,等.模拟退火教学式优化算法[J].计算机应用研究,2014,31(4):3553-3556.

[20] 李丹.粒子群优化算法及其应用研究[D].沈阳:东北大学,2009.

[21] 范浩泽.TLBO算法的改进及其应用研究[D].南京:南京航空航天大学,2016.

(责任编辑:江 艳)