2. 陕西省工业自动化重点实验室,陕西 汉中 723001;
3. 西安邮电大学 计算机学院,陕西 西安 710121
2. Shaanxi Key Laboratory of Industrial Automation, Hanzhong 723001, China;
3. School of Computer Science and Technology, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
教与学优化算法(teaching-learning-based optimization,TLBO) 是Rao等[1]于2011年提出的一种模拟教师教学和学生相互学习的群体智能优化算法。该算法因参数设置少、容易实现、寻优性能好,受到了众多研究者的关注,在函数优化[2]、工程参数优化[3]、投资组合优化[4]和多目标优化[5-6]等问题上得到了广泛的应用。
TLBO算法作为一种群智能优化算法,在求解高维多模态复杂优化问题时也容易陷入局部最优,算法的收敛速度和精度都不够理想,为此,许多研究者在近几年相继提出了一些改进的TLBO算法。Ouyang等[7]为平衡全局与局部搜索效率,在“学阶段”增加了全局交叉策略,提出了全局交叉的TLBO算法(teaching-learning-based optimizatio with global crossover,TLBO-GC);Chen等[8]设计了局部学习和自学习方法来提高TLBO的搜索能力,提出了一种改进的TLBO算法(improved teaching-learning-based optimization, ITLBO);Zou等[9]利用其他同学的学习经验,使用两种随机概率来确定学习者在不同阶段的学习方法,提出了一种改进的TLBO算法(improved teaching-learning-based optimization with learning experience, LETLBO);王培崇等[10]采用小世界网络作为种群的空间结构关系,提出了具有小世界领域结构的TLBO算法(small world neighborhood TLBO, S-TLBO);毕晓君等[11]在“学阶段”融合差分进化算法变异策略,提出了基于混合学习策略的教与学优化算法(TLBO based on hybrid learning strategies and disturbance, DSTLBO);Ji等[12]受历史种群概念的启发,在标准TLBO算法中引入了自反馈学习阶段和变异交叉阶段,提出了一种TLBO算法的变体(improved version of TLBO, I-TLBO);Yu等[13]将精英学习策略和多样性学习方法引入到教师阶段和学习者阶段,学习者可以根据自身的特点自适应地选择不同的学习阶段,提出了一种自适应的TLBO算法(self-adaptive TLBO, SATLBO);Niu等[14]对种群中每个个体采用不同的更新机制,提出了一种修正的TLBO算法(actual teaching learning situation TLBO, ATLS);SHUKLA等[15]在标准TLBO算法中引入邻近学习和差分突变策略,提出了邻近学习策略的TLBO算法(neighbor based TLBO, NTLBO);柳缔西子等[16]利用权重学习得到的个体来指引种群的进化,使用Logistics 混沌搜索策略来提高其全局搜索能力,提出了基于混沌搜索和权重学习的教与学优化算法(TLBO based on chaotic search and weighted learning,TLBO-CSWL);何杰光等[17]在原有的个体更新公式上加入更新个体局部维度的操作,提出了基于个体局部维度改进的教与学优化算法(local-dimension-improved TLBO, LdimTLBO);Tsai[18]将交叉频率引入TLBO中,以防止算法过早收敛,提出了受限的教与学优化算法(confined TLBO with variable search strategies, CTLBO)。这些TLBO的改进算法在一定程度上提高了算法的优化性能,降低了算法陷入局部最优的可能,但文献[19]揭示标准TLBO算法在“教”阶段存在固有的起源偏倚,对原点最优问题(以坐标原点为最优解的问题)有着原始的偏好,但对非原点最优问题(最优解不在坐标原点的问题)的优化效果则不太理想,现有的改进TLBO算法也没能很好地解决这类问题。
为此,本文在对标准TLBO算法的“教阶段”和“学阶段”的空间扰动进行几何分析解释的基础上,提出了一种基于随机交叉−自学策略的教与学优化算法(teaching and learning optimization algorithm based on random crossover-self-study strategy, CSTLBO)。算法使用各分量取值
本文研究的优化问题的具体模型为:
$ \begin{split} &\mathop {{\rm{minmize}}}\limits_X f\left( {X} \right) \\ & {\rm{s.t.}} {X} = ({x_1},{x_2}, \cdots ,{x_D}) \in {S},\\ &{x_i} \in \left[ {x_i^L,x_i^U} \right],i = 1,2, \cdots ,D \end{split} $ |
式中:
标准TLBO算法是一种模仿整个课堂教学过程的高效优化方法,通过模拟老师给班级学生的教学过程及班级中学员之间的交流学习过程,来提高整个班级的成绩。主要包括两个阶段:“教阶段”和“学阶段”,其基本步骤如下:
1)初始化。随机初始化
2)“教阶段”。选取班级中成绩最优(即适应度值最小)的学员作为老师,记做
${X}_{{\rm{new}}}^j = {X}_{{\rm{old}}}^j + \rm{difference}$ | (1) |
${\rm{difference}} = {{r}} \otimes \left( {{{{X}}^{{\rm{teacher}}}} - {{{T}}_F} \cdot {{{X}}^{{\rm{mean}}}}} \right)$ | (2) |
式中:
“教阶段”完成后,评估学员
3)“学阶段”。学员之间进行相互交流,通过向其他同学学习,来提升自身的水平。从班级中随机抽取一个学员Kk,k是[1,NP]中的一个随机整数,
$ {X}_{{\rm{new}}}^{j}=\left\{ \begin{aligned} & {X}_{{\rm{old}}}^{j}+r\otimes \left( {{{X}}^{k}}-{{{X}}^{j}} \right), \quad {\rm{if}}\quad f\left( {{{X}}^{k}} \right)<f\left( {{{X}}^{j}} \right) \\ & {X}_{{\rm{old}}}^{j}+r\otimes \left( {{{X}}^{j}}-{{{X}}^{k}} \right),\quad{\text{其他}} \end{aligned} \right. $ | (3) |
学习完成后,如果
4)如果满足终止条件(达到最大评估次数或最大迭代次数),则优化结束并输出最优个体Xbest,否则转至2)继续。
2 教与学优化算法的空间扰动分析 2.1 标准TLBO算法的几何解释为了更好地理解TLBO的工作原理,以二维空间为例,采用几何分析的方法来解释算法在“教阶段”和“学阶段”的空间扰动状况。
文献[19]指出式(2)和(3)中的r本质上是一个各分量都取值于[0,1]的D维随机向量,考虑到由随机参数所引起的扰动的极限情形,容易观察出“教阶段”和“学阶段”的空间扰动情形。由于r中的每个元素都是取值于[0,1]的随机数,所以r对difference的影响实际是一个尺度上的缩放,即difference可以为图1(b)、(c)方框内的任意向量。图1(a)给出了TF(取1或2)的两种情况下difference的向量表示;图1(b)描述了“教阶段”,应用于Xj的两个可能的扰动框,从概率角度描述了应用于Xj每一个可能的扰动;图1(c)描述了“学阶段”,应用于Xj的两种可能的扰动框。
Download:
|
|
类似于2.1节的分析,如果将式(2)和式(3)中各分量取值于[0,1]的随机向量替换为各分量取值于[−1,1]的随机向量,则应用于Xj的扰动范围将会扩大,“教阶段”的搜索扰动范围会变为原来的4倍,而“学阶段”的扰动范围将变为原来的两倍,这样能增大算法跳出局部最优的概率,在一定程度上改善算法“早熟”收敛的状况,提高全局搜索能力。
图2(a)、(b)分别描述了在“教阶段”和“学阶段”,使用各分量取值于[−1,1]的随机向量后,应用于Xj的可能的扰动范围。
Download:
|
|
为检验上述对使用不同取值范围的随机数所产生的扰动状况的分析,将标准TLBO算法和TLBO1(
Download:
|
|
从表1和图3可以看出,对原点最优问题,标准TLBO算法所得解的精度更高,时间更短,但对非原点最优问题,TLBO1算法的求解精度和时间则更优。由于标准TLBO算法的“教”阶段存在固有的原点偏倚,允许收敛的种群继续沿着原点的方向搜索更好的解决方案,从而对原点最优问题能取得更好的优化效果。对非原点最优问题,标准TLBO算法在种群收敛到局部最优时,要么继续利用局部最优信息,要么沿着原点方向继续探索,由于最优解在原点以外的点上,沿原点方向的搜索几乎毫无意义,所以无法进一步获得高精度的解;而采用各分量取值于
标准TLBO算法中,由于教师和学习对象都属于现有种群,所以无论是“教阶段”还是“学阶段”的操作都是在当前位置的有限范围内进行搜索,学习者都依据现有种群的经验来提高自己的成绩,使得算法具有良好的开发性能,而跳出局部最优的能力不足。为增强算法的全局搜索能力,使迭代过程中算法的探索与开发过程得到平衡,对“教”和“学”阶段进行改进,并使用随机交叉策略和“自学”策略,来提高算法对复杂多模态问题的优化性能。
3.1 “教阶段”的改进当班级中学生成绩差异较大时,最差成绩往往会拉低班级的平均水平,如果教学过程中重点加强对最差生的关注,使其成绩得到大幅度提高,缩小与班级其他同学间的差距,则可以加快班级整体水平的提升。故用班级中的成绩最差者
${\rm{difference}} = {{r}_1} \otimes \left( {{{X}^{{\rm{teacher}}}} - {T_F} \cdot {{X}^{{\rm{worst}}}}} \right)$ | (4) |
式中
学生学习时,不仅会在同学间进行相互交流,也会向老师请教。在迭代的前期,同学间的信息交流较多,但随着迭代的进行,学生会更多地向老师请教,故对学习方式做如下改进:
${X}_{{\rm{new}}}^j = \left\{ {\begin{array}{*{20}{c}} {{X}_{{\rm{old}}}^j + {{r}_2} \otimes \Bigg[\Bigg(1 - \dfrac{t}{{{T_{\max }}}}\Bigg) \cdot {X}_{{\rm{old}}}^k + \Bigg(\dfrac{t}{{{T_{\max }}}}\Bigg) \cdot {{X}^{{\rm{teacher}}}} - {X}_{{\rm{old}}}^j\Bigg]},&{{\rm{if}}}&{f({{X}^k}) < f({{X}^j})} \\ {{X}_{{\rm{old}}}^j + {{r}_2} \otimes \Bigg[\Bigg(1 - \dfrac{t}{{{T_{\max }}}}\Bigg) \cdot {X}_{{\rm{old}}}^j + \Bigg(\dfrac{t}{{{T_{\max }}}}\Bigg) \cdot {{X}^{{\rm{teacher}}}} - {X}_{{\rm{old}}}^k\Bigg]},&{}&{\text{其他}} \end{array}} \right.$ | (5) |
其中,
学生经过“教”阶段后,各自的成绩会得到一定程度的提升,但彼此间的差距也会缩小,即种群的多样性降低,而通过集体讨论交流,每位学生都可以在不同科目上随机地向班级中不同的同学求教,并达到该同学在此科目上的水平,这实际上就是种群间的一种随机交叉过程,具体为
$x_{{\rm{new}},i}^j = \left\{ {\begin{array}{*{20}{c}} {x_{{\rm{old}},i}^k},&{{\rm{rand}} < {\rm{rand}}} \\ {x_{{\rm{old}},i}^j},&\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!{\text{其他}} \end{array}} \right.$ | (6) |
实际学习过程中,部分学生在学习之余,也会根据自己当前的学习状况,挑选部分课程进行“自学”,发掘新的知识,从而提升自己的学业水平。具体如下:对第
$x_{{\rm{new}},i}^j \!=\! \left\{\!\! {\begin{split} &{x_{{\rm{old}},i}^j{\rm{ + 2}} \cdot ({\rm{rand}} - 0.5) \cdot \lambda },\quad{{\rm{rand}} < {\rm{rand}}} \\ &{x_i^L{\rm{ + }}{\rm{rand}} \cdot \left( {x_i^U - x_i^L} \right)},\quad{{\rm{rand}} < {\rm{SDR}}} \\ &{x_{{\rm{old}},i}^j},\quad{\text{其他}} \end{split}} \right.$ | (7) |
$\lambda = {\lambda _{\max }} \times {\left( {\frac{{{\lambda _{\min }}}}{{{\lambda _{\max }}}}} \right)^{{{\left( {\frac{t}{{{T_{\max }}}}} \right)}^2}}}$ | (8) |
对每一科目,学生会根据自己当前的知识水平随机进行自我调整,提高学习效率,自学步长随迭代的进行由
CSTLBO算法的具体流程如图4所示。
Download:
|
|
每次迭代过程中,对每位学生而言,依据选择概率
$ {\rm{SP}} = {{\rm{SP}}_{\max }} - \Bigg({{\rm{SP}}_{\max }} - {{\rm{SP}}_{\min }}\Bigg) \times {\Bigg(\frac{t}{{{T_{\max }}}}\Bigg)^{(1/2)}} $ | (9) |
随迭代的进行,
为检验CSTLBO算法在连续优化问题中的性能,将其与6种TLBO的改进算法(ATLS、NTLBO、TLBO-GC、ITLBO、TLBO-CSWL、DSTLBO)在20个复杂Benchmark函数上进行测试比较。将函数F1 ,F3 ~F4称为原点最优问题(它们在原点处得到了最优值),其余的函数称为非原点最优问题,其中一些是通过对原点最优问题进行移位和旋转得到的,移位函数取自CEC 2008,移位和旋转函数取自CEC 2017。
F1为Ackley Function;F2为Michalewics Function;F3为Rastrigin Function;F4为Griewank Function;F5为Schwefel 2.26 Function;F6为Weierstrass Function;F7为FastFractal ‘DoubleDip’ Function;F8为Sphere Shift Function;F9为Ackley Shift Function;F10为Griewank Shift Function;F11为Rastrigin Shift Function;F12为Rosebrock shift Function;F13为Schaffer Shift Function;F14为Bohachevsky Shift Function;F15为Shifted and Rotated Rastrigin’s Function;F16为Shifted and Rotated Expanded Scaffer’s F6 Function;F17为Shifted and Rotated Lunacek Bi_Rastrigin Function;F18为Shifted and Rotated Non-Continuous Rastrigin’s Function;F19为Shifted and Rotated Levy Function;F20为Shifted and Rotated Schwefel’s Function.
本文测试的环境为:戴尔PC机Intel Core(TM)i7-4790 3.6 GHz CPU,8 GB内存;Window10操作系统;MATLAB R2014b软件。为保证测试的公平,各种算法采用相同的适应度函数评价次数:对F1~F14,评价次数MaxFEs=5000×
为避免偶然因素的影响,所有算法在
从表2可以看出,所有比较算法在F1这个原点最优问题上的收敛精度优于本文算法,在F4上所有算法都能达到理论最优值,除F20外,本文算法在余下的17个测试函数上的平均值和方差都优于比较算法,说明所提算法对非原点最优问题的优化能力较强,效果良好。从Wilcoxon符号秩检验的结果来看,比较算法最多在4个问题上优于或相当于本文算法,而在其余测试问题上都明显差于本文算法。
为进一步分析实验结果,图5~6给出了30次独立运行的平均最优目标值收敛曲线(D=100维),图7~8给出了30次独立运行的最优目标值分布盒图(D=100维)。
Download:
|
|
Download:
|
|
Download:
|
|
Download:
|
|
从收敛曲线图不难看出,本文算法对两个复杂优化函数(Rastrigin Shift Function、Shifted and Rotated Levy Function)的收敛曲线呈逐渐下降趋势,收敛效果明显优于其他比较算法,说明本文算法的全局搜索能力较强,不易陷入局部最优。
从统计盒图可以看出,本文算法30次独立实验所得的最优值的分布基本呈一条直线,差距很小,说明本文算法具有良好的稳定性。
4.3 随机交叉策略的有效性分析为检验本文所使用的随机交叉策略的有效性,选取了复杂的非原点最优问题Weierstrass Function进行了测试,函数Weierstrass Function具有多个极小值点,算法很容易陷入局部最优的状况。设置维数
Download:
|
|
从图9可以看出,未使用随机交叉策略的搜索过程中,种群在多个局部极值处都有聚集,使得在相同评价次数下,无法进行有效的开发,所得解的精度不高;而使用了随机交叉策略的搜索种群的分布很均匀,没有发生陷入局部最优的现象,大多数搜索点都聚集于最优解附近,更多地来进行局部开发,说明随机交叉策略能使算法有效地跳出局部最优,增强算法的全局搜索能力。
4.4 CSTLBO算法的种群多样性分析为进一步研究CSTLBO算法的收敛过程,以4个复杂非原点最优测试函数(Schwefel 2.26 Function、Ackley Shift Function、Griewank Shift Function、Rastrigin Shift Function)为例进行实验(取维数
${\rm{Diversity}} = \frac{1}{D}\sum\limits_{i = 1}^D {\sqrt {\frac{1}{{{\rm{NP}}}}\sum\limits_{j = 1}^{{\rm{NP}}} {{{(x_i^j - \overline {{x_i}} )}^2}} } } $ | (10) |
式中
Download:
|
|
从图10可以看出,标准TLBO 算法在搜索初期多样性明显快速下降,然后在小范围内波动,前后期变化不是特别明显,使得种群个体难以聚集到全局最优解,因此求解精度不高;CSTLBO 算法在迭代初期,具有较高的种群多样性,有利于进行全局探索,随着迭代的进行,种群多样性保持着持续下降的趋势,种群逐渐向全局最优解聚集,有利于进行局部开发,从而能获得高精度的全局解。
5 结束语为提高对非原点最优问题的优化能力,本文提出了一种基于随机交叉−自学策略的教与学优化算法—CSTLBO。算法使用几何方法分析了标准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. DOI:10.1016/j.cad.2010.12.015 (0) |
[2] | RAO R V, SAVSANI V J, VAKHARIA D P. Teaching-Learning-Based Optimization: an optimization method for continuous non-linear large scale problems[J]. Information sciences, 2012, 183(1): 1-15. DOI:10.1016/j.ins.2011.08.006 (0) |
[3] | RAO R V, PATEL V. Multi-objective optimization of two stage thermoelectric cooler using a modified teaching–learning-based optimization algorithm[J]. Engineering applications of artificial intelligence, 2013, 26(1): 430-445. DOI:10.1016/j.engappai.2012.02.016 (0) |
[4] | TUO Shouheng, HE Hong. Solving complex cardinality constrained mean-variance portfolio optimization problems using hybrid HS and TLBO algorithm[J]. Economic Computation and Economic Cybernetics Studies and Research, 2018, 52(3): 231-248. (0) |
[5] | CHINTA S, KOMMADATH R, KOTECHA P. A note on multi-objective improved teaching–learning based optimization algorithm (MO-ITLBO)[J]. Information sciences, 2016, 373: 337-350. DOI:10.1016/j.ins.2016.08.061 (0) |
[6] | YU Dong, HONG Jun, ZHANG Jinhua, et al. Multi-objective individualized-instruction teaching-learning-based optimization algorithm[J]. Applied soft computing, 2018, 62: 288-314. DOI:10.1016/j.asoc.2017.08.056 (0) |
[7] | OUYANG Haibin, GAO Liqun, KONG Xiangyong, et al. Teaching-learning based optimization with global crossover for global optimization problems[J]. Applied mathematics and computation, 2015, 265: 533-556. DOI:10.1016/j.amc.2015.05.012 (0) |
[8] | CHEN Debao, ZOU Feng, LI Zheng, et al. An improved teaching–learning-based optimization algorithm for solving global optimization problem[J]. Information sciences, 2015, 297: 171-190. DOI:10.1016/j.ins.2014.11.001 (0) |
[9] | ZOU Feng, WANG Lei, HEI Xinhong, et al. Teaching-learning-based optimization with learning experience of other learners and its application[J]. Applied soft computing, 2015, 37: 725-736. DOI:10.1016/j.asoc.2015.08.047 (0) |
[10] |
王培崇, 马玥, 耿明月, 等. 具有小世界邻域结构的教与学优化算法[J]. 计算机科学与探索, 2016, 10(9): 1341-1350. WANG Peichong, MA Yue, GENG Mingyue, et al. New teaching-learning-based optimization with neighborhood structure based on small world[J]. Journal of frontiers of computer science and technology, 2016, 10(9): 1341-1350. (0) |
[11] |
毕晓君, 王佳荟. 基于混合学习策略的教与学优化算法[J]. 浙江大学学报(工学版), 2017, 51(5): 1024-1031. BI Xiaojun, WANG Jiahui. Teaching-learning-based optimization algorithm with hybrid learning strategy[J]. Journal of Zhejiang University (Engineering Science), 2017, 51(5): 1024-1031. DOI:10.3785/j.issn.1008-973X.2017.05.024 (0) |
[12] | JI Xiaoyuan, YE Hu, ZHOU Jianxin, et al. An improved teaching-learning-based optimization algorithm and its application to a combinatorial optimization problem in foundry industry[J]. Applied soft computing, 2017, 57: 504-516. DOI:10.1016/j.asoc.2017.04.029 (0) |
[13] | YU Kunjie, CHEN Xu, WANG Xin, et al. Parameters identification of photovoltaic models using self-adaptive teaching-learning-based optimization[J]. Energy conversion and management, 2017, 145: 233-246. DOI:10.1016/j.enconman.2017.04.054 (0) |
[14] | NIU Peifeng, MA Yunpeng, YAN Shanshan. A modified teaching–learning-based optimization algorithm for numerical function optimization[J]. International journal of machine learning and cybernetics, 2019, 10(6): 1357-1371. DOI:10.1007/s13042-018-0815-8 (0) |
[15] | SHUKLA A K, SINGH P, VARDHAN M. Neighbour teaching learning based optimization for global optimization problems[J]. Journal of intelligent & fuzzy systems, 2018, 34(3): 1583-1594. (0) |
[16] |
柳缔西子, 范勤勤, 胡志华. 基于混沌搜索和权重学习的教与学优化算法及其应用[J]. 智能系统学报, 2018, 13(5): 818-828. LIU Dixizi, FAN Qinqin, HU Zhihua. Teaching-learning-based optimization algorithm based on chaotic search and weighted learning and its application[J]. CAAI transactions on intelligent systems, 2018, 13(5): 818-828. (0) |
[17] |
何杰光, 彭志平, 崔得龙, 等. 局部维度改进的教与学优化算法[J]. 浙江大学学报(工学版), 2018, 52(11): 2159-2170. HE Jieguang, PENG Zhiping, CUI Delong, et al. Teaching-learning-based optimization algorithm with local dimension improvement[J]. Journal of Zhejiang University (Engineering Science), 2018, 52(11): 2159-2170. DOI:10.3785/j.issn.1008-973X.2018.11.015 (0) |
[18] | TSAI H C. Confined teaching-learning-based optimization with variable search strategies for continuous optimization[J]. Information sciences, 2019, 500: 34-47. DOI:10.1016/j.ins.2019.05.065 (0) |
[19] | PICKARD J K, CARRETERO J A, BHAVSAR V C. On the convergence and origin bias of the Teaching-Learning-Based-Optimization algorithm[J]. Applied soft computing, 2016, 46: 115-127. DOI:10.1016/j.asoc.2016.04.029 (0) |
[20] | TUO Shouheng, ZHANG Junying, YONG Longquan, et al. A harmony search algorithm for high-dimensional multimodal optimization problems[J]. Digital signal processing, 2015, 46: 151-163. DOI:10.1016/j.dsp.2015.08.008 (0) |