«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2021, Vol. 16 Issue (2): 313-322  DOI: 10.11992/tis.201910045
0

引用本文  

黎延海, 雍龙泉, 拓守恒. 随机交叉−自学策略改进的教与学优化算法[J]. 智能系统学报, 2021, 16(2): 313-322. DOI: 10.11992/tis.201910045.
LI Yanhai, YONG Longquan, TUO Shouheng. Teaching-learning-based optimization algorithm based on random crossover-self-learning strategy[J]. CAAI Transactions on Intelligent Systems, 2021, 16(2): 313-322. DOI: 10.11992/tis.201910045.

基金项目

国家自然科学基金项目(11502132);陕西省教育厅重点科研计划项目(20JS021);陕西理工大学校级科研项目(SLG1913)

通信作者

黎延海. E-mail:liyanhai@snut.edu.cn

作者简介

黎延海,讲师,主要研究方向为智能优化算法及应用;
雍龙泉,教授,博士,主要研究方向为优化理论与算法设计、智能优化算法;
拓守恒,副教授,博士,CCF会员,主要研究方向为智能优化算法、生物信息分析与处理。发表学术论文40余篇

文章历史

收稿日期:2019-10-31
网络出版日期:2020-07-21
随机交叉−自学策略改进的教与学优化算法
黎延海 1, 雍龙泉 1,2, 拓守恒 3     
1. 陕西理工大学 数学与计算机科学学院,陕西 汉中 723001;
2. 陕西省工业自动化重点实验室,陕西 汉中 723001;
3. 西安邮电大学 计算机学院,陕西 西安 710121
摘要:针对非原点最优的复杂优化问题(最优解不在坐标原点),提出了一种基于随机交叉-自学策略的教与学优化算法(teaching and learning optimization algorithm based on random crossover-self-study strategy, CSTLBO)。对标准教与学优化算法的“教阶段”和“学阶段”的空间扰动进行了几何解释,改进了原有的“教阶段”和“学阶段”,并引入随机交叉策略和“自学”策略来提高算法的全局寻优能力。通过使用20个Benchmark函数进行仿真,并与6种改进的教与学优化算法进行结果比较及Wilcoxon秩和检验分析,结果表明CSTLBO算法能有效避免陷入局部最优,具有良好的全局搜索能力,求解精度高,稳定性好。
关键词群体智能    教与学优化    随机交叉    “自学”策略    Benchmark函数    非原点最优    多样性分析    
Teaching-learning-based optimization algorithm based on random crossover-self-learning strategy
LI Yanhai 1, YONG Longquan 1,2, TUO Shouheng 3     
1. School of Mathematics and Computer Science, Shaanxi University of Technology, Hanzhong 723001, China;
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
Abstract: This paper presents a teaching-learning-based optimization algorithm based on a random crossover–self-learning strategy (CSTLBO) for solving non-origin-optimal complex optimization problems in circumstances in which the optimum solution is outside the origin of the coordinates. First, the spatial perturbation in the “teaching” and “learning” stages of the standard TLBO algorithm is interpreted geometrically, and the original “teaching” and “learning” stages are improved. Then, random crossover and “self-learning” strategies are introduced to improve the global optimization ability of the algorithm. To assess the performance of the CSTLBO algorithm, 20 Benchmark functions were tested, and Wilcoxon rank sum tests were applied to the experimental results of six improved TLBO algorithms. The experimental results indicate that the CSTLBO algorithm is able to avoid premature convergence, and has the advantages in global exploration, solution quality, and stability.
Key words: swarm Intelligence    teaching-learning-based optimization    random crossover    “self-learning” strategy    Benchmark function    non-origin-optimal    diversity analysis    

教与学优化算法(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)。算法使用各分量取值 $\left[ { - 1,1} \right]$ 的随机向量替换了标准TLBO算法中各分量取值 $\left[ {0,1} \right]$ 的随机向量,通过引入随机交叉策略和“自学”策略,增加种群的多样性,提高算法的全局搜索能力。使用了20个Benchmark测试函数进行仿真实验,并与6种TLBO的改进算法(TLBO-GC[7]、ITLBO[8]、DSTLBO[11]、ATLS[14]、NTLBO[15]、TLBO-CSWL[16])进行了比较,检验了所提算法的性能。

1 教与学优化算法 1.1 优化问题的模型

本文研究的优化问题的具体模型为:

$ \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} $

式中: ${X}$ 为决策向量; ${S}$ 表示搜索空间; $x_i^L$ $x_i^U$ 分别表示第 $i$ 个决策变量 ${x_i}$ 在搜索空间的上界和下界; $D$ 是搜索空间的维数; $f$ 为目标函数。

1.2 标准的教与学优化算法

标准TLBO算法是一种模仿整个课堂教学过程的高效优化方法,通过模拟老师给班级学生的教学过程及班级中学员之间的交流学习过程,来提高整个班级的成绩。主要包括两个阶段:“教阶段”和“学阶段”,其基本步骤如下:

1)初始化。随机初始化 ${\rm{NP}}$ 位学员(即个体) ${{X}^j} = (x_1^j,x_2^j, \cdots ,x_D^j)$ $j = 1,2, \cdots ,{\rm{NP}}$ 。其中, ${\rm{NP}}$ 表示班级中的学员数(即种群的规模), $D$ 表示学习的科目数(即待优化问题的维数)。

2)“教阶段”。选取班级中成绩最优(即适应度值最小)的学员作为老师,记做 ${{X}^{{\rm{teacher}}}}$ ,每个学员根据教师和全体学员平均水平的差异性( $\rm{difference}$ )来进行学习,具体如下:

${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)

式中: ${X}_{{\rm{old}}}^j$ ${X}_{{\rm{new}}}^j$ 分别表示第 $j$ 位学员 ${{X}^j}$ 在教学前、后的知识水平; ${r} = ({r_1},{r_2}, \cdots ,{r_D})$ 表示学习步长, ${r_i}$ $[0,1]$ 间的随机数;符号 $ \otimes $ 表示直积运算; ${T_F} = {\rm{round}}[1 + {\rm{rand}}(0,1)]$ 表示教学因子,取值为1或2; ${{X}^{{\rm{mean}}}} = \dfrac{1}{{{\rm{NP}}}}\displaystyle\sum\limits_{j = 1}^{{\rm{NP}}} {{{X}^j}}$ 表示班级全体学员的平均知识水平。

“教阶段”完成后,评估学员 ${{X}^j}$ 的学习成绩(即适应度值 $f({{X}^j})$ ),如果 $f({X}_{{\rm{new}}}^j) < f({X}_{{\rm{old}}}^j)$ ,则进行更新,即 ${{X}^j} = {X}_{{\rm{new}}}^j$ ,否则不更新。

3)“学阶段”。学员之间进行相互交流,通过向其他同学学习,来提升自身的水平。从班级中随机抽取一个学员Kkk是[1,NP]中的一个随机整数, ${}^k \!\ne^ {j}$ ,学员 ${{X}}^j $ 与其进行交流学习,具体如下:

$ {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)

学习完成后,如果 $f\left( {{{X}}^{k}} \right)<f\left( {{{X}}^{j}} \right) $ ,则更新个体,即 ${{{X}}^{j}}={X}_{{\rm{new}}}^{j}$ ,否则不更新。

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:
图 1 扰动分析的几何解释 Fig. 1 Geometric interpretation of disturbance analysis
2.2 随机向量的扰动分析

类似于2.1节的分析,如果将式(2)和式(3)中各分量取值于[0,1]的随机向量替换为各分量取值于[−1,1]的随机向量,则应用于Xj的扰动范围将会扩大,“教阶段”的搜索扰动范围会变为原来的4倍,而“学阶段”的扰动范围将变为原来的两倍,这样能增大算法跳出局部最优的概率,在一定程度上改善算法“早熟”收敛的状况,提高全局搜索能力。

图2(a)(b)分别描述了在“教阶段”和“学阶段”,使用各分量取值于[−1,1]的随机向量后,应用于Xj的可能的扰动范围。

Download:
图 2 扰动分析的几何解释(ri∈[−1,1]) Fig. 2 Geometric interpretation of disturbance analysis(ri∈[−1,1])
2.3 随机扰动的实验分析

为检验上述对使用不同取值范围的随机数所产生的扰动状况的分析,将标准TLBO算法和TLBO1( ${r}$ 为各分量取值于 $\left[ { - 1,1} \right]$ 的随机向量)在6个标准测试函数上进行仿真测试,其中f1~f3是典型的原点最优的多峰问题,f4~f6是对它们进行了Shift操作(非原点最优)。设置维度 $D = 30$ ,种群大小 ${\rm{NP}} = 10$ ,评价次数为150000次。表1统计了30次独立运行得到的最优目标值的平均值、标准差及运行时间,图3给出6个函数的收敛曲线。

表 1 30次实验统计结果 Tab.1 Thirty times optimization statistical results
Download:
图 3 测试函数f1~f6的收敛曲线图 Fig. 3 Convergence plot of benchmark function f1~f6

表1图3可以看出,对原点最优问题,标准TLBO算法所得解的精度更高,时间更短,但对非原点最优问题,TLBO1算法的求解精度和时间则更优。由于标准TLBO算法的“教”阶段存在固有的原点偏倚,允许收敛的种群继续沿着原点的方向搜索更好的解决方案,从而对原点最优问题能取得更好的优化效果。对非原点最优问题,标准TLBO算法在种群收敛到局部最优时,要么继续利用局部最优信息,要么沿着原点方向继续探索,由于最优解在原点以外的点上,沿原点方向的搜索几乎毫无意义,所以无法进一步获得高精度的解;而采用各分量取值于 $[ - 1,1]$ 的随机向量,使得搜索范围成倍扩大,算法跳出局部最优的能力得到提高,获得最优解的概率变大,随着迭代的进行,能取得更好的优化效果。

3 基于随机交叉−自学策略的教与学优化算法

标准TLBO算法中,由于教师和学习对象都属于现有种群,所以无论是“教阶段”还是“学阶段”的操作都是在当前位置的有限范围内进行搜索,学习者都依据现有种群的经验来提高自己的成绩,使得算法具有良好的开发性能,而跳出局部最优的能力不足。为增强算法的全局搜索能力,使迭代过程中算法的探索与开发过程得到平衡,对“教”和“学”阶段进行改进,并使用随机交叉策略和“自学”策略,来提高算法对复杂多模态问题的优化性能。

3.1 “教阶段”的改进

当班级中学生成绩差异较大时,最差成绩往往会拉低班级的平均水平,如果教学过程中重点加强对最差生的关注,使其成绩得到大幅度提高,缩小与班级其他同学间的差距,则可以加快班级整体水平的提升。故用班级中的成绩最差者 ${{X}^{{\rm{worst}}}}$ 替换班级平均水平 ${{X}^{{\rm{mean}}}}$ ,即

${\rm{difference}} = {{r}_1} \otimes \left( {{{X}^{{\rm{teacher}}}} - {T_F} \cdot {{X}^{{\rm{worst}}}}} \right)$ (4)

式中 ${{r}_1}$ 为各分量取值于 $[ - 1,1]$ 的随机向量。

3.2 “学阶段”的改进

学生学习时,不仅会在同学间进行相互交流,也会向老师请教。在迭代的前期,同学间的信息交流较多,但随着迭代的进行,学生会更多地向老师请教,故对学习方式做如下改进:

${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)

其中, ${{r}_2}$ 为各分量取值于 $[ - 1,1]$ 的随机向量, $k$ $[1,{\rm{NP}}]$ 中的一个随机整数, $k \ne j$ $t$ 为当前迭代次数, ${T_{\max }}$ 为最大迭代次数。在迭代初期, $t$ 较小, $\left( {1 - t/{T_{\max }}} \right)$ 的值较大,学生间的相互讨论更多,算法更加注重随机性学习,能够维持种群多样性,增大有效搜索范围;随着迭代的进行, $t$ 逐渐增大, $\left( {t/{T_{\max }}} \right)$ 越来越大,学生会更多地向老师求教,逐渐侧重于有向性学习,使算法的局部搜索能力增强。

3.3 随机交叉−自学策略 3.3.1 随机交叉策略

学生经过“教”阶段后,各自的成绩会得到一定程度的提升,但彼此间的差距也会缩小,即种群的多样性降低,而通过集体讨论交流,每位学生都可以在不同科目上随机地向班级中不同的同学求教,并达到该同学在此科目上的水平,这实际上就是种群间的一种随机交叉过程,具体为

$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)

$i = 1,2, \cdots ,D,j = 1,2, \cdots ,{\rm{NP}}$ $k$ $\left[ {1,{\rm{NP}}} \right]$ 中的一个不同于 $j$ 的随机整数, ${\rm{rand}}$ $\left[ {0,1} \right]$ 间的随机数。这里使用一种随机概率来确定学习者与不同学习对象间的交流程度,通过进行种群间的随机交叉,能够维持种群的多样性,提高算法跳出局部最优的能力。

3.3.2 “自学”策略

实际学习过程中,部分学生在学习之余,也会根据自己当前的学习状况,挑选部分课程进行“自学”,发掘新的知识,从而提升自己的学业水平。具体如下:对第 $i$ 门课程,产生一个 $\left[ {0,1} \right]$ 间的随机数 ${\rm{rand}}$ ,来用于选择不同的“自学”方式。

$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)

$i = 1,2, \cdots, D,j = 1,2, \cdots ,{\rm{NP}}$ 。其中, ${\rm{SDR}}$ (self-development rate, SDR)为自我拓展率, $\lambda $ 表示自学步长, ${\lambda _{\max }}$ ${\lambda _{\min }}$ 分别为最大、最小步长。

对每一科目,学生会根据自己当前的知识水平随机进行自我调整,提高学习效率,自学步长随迭代的进行由 ${\lambda _{\max }}$ 逐步动态缩小为 ${\lambda _{\min }}$ 。搜索前期,步长值较大,算法具有强的空间扰动能力,有助于探索新的未知区域;随着迭代的进行,步长值逐渐缩小,使得对当前解的扰动幅度变小,有利于提高解的精度,这样一种动态调整过程能有效平衡算法在搜索过程中的空间扰动能力和局部寻优能力。同时,以概率 ${\rm{SDR}}$ 在搜索空间进行随机搜寻,进行自我拓展学习,可以增加算法的全局搜索能力。大量数值实验测试表明,自我拓展率取值不宜过大,当 ${\rm{SDR}} \in \left[ {0.01,0.1} \right]$ 时,算法会有较好的性能。

3.4 CSTLBO算法的流程

CSTLBO算法的具体流程如图4所示。

Download:
图 4 CSTLBO算法流程 Fig. 4 Flow chart of CSTLBO algorithm

每次迭代过程中,对每位学生而言,依据选择概率 ${\rm{SP}}$ 来选择“学”和“自学”两种学习方式中的一种执行,具体如下:

$ {\rm{SP}} = {{\rm{SP}}_{\max }} - \Bigg({{\rm{SP}}_{\max }} - {{\rm{SP}}_{\min }}\Bigg) \times {\Bigg(\frac{t}{{{T_{\max }}}}\Bigg)^{(1/2)}} $ (9)

随迭代的进行, ${\rm{SP}}$ 的值从 ${{\rm{SP}}_{\max }}$ 逐渐减小到 ${{\rm{SP}}_{\min }}$ ,表明在迭代初期,同学之间的信息交流比较多,随着学习的深入,当学生的水平都得到较大提升后,会更多地倾向于进行自我探索学习。

4 实验仿真测试 4.1 测试函数与参数设置

为检验CSTLBO算法在连续优化问题中的性能,将其与6种TLBO的改进算法(ATLS、NTLBO、TLBO-GC、ITLBO、TLBO-CSWL、DSTLBO)在20个复杂Benchmark函数上进行测试比较。将函数F1F3 ~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× $D$ ;对F15~F20,MaxFEs=10000× $D$ ,其中 $D$ 为维数。比较算法的参数设置均参考于原文献,本文算法的参数设置为: ${\rm{NP}} = 20$ ${{\rm{SP}}_{\max }} = 0.6$ ${{\rm{SP}}_{\min }} = 0.2$ ${\rm{SDR}} = 0.02$ ${\lambda _{\max }} \!=\! (xU - xL)/10$ ${\lambda _{\min }} \!=\! (xU - xL)/(10^{15})$

4.2 实验结果与分析

为避免偶然因素的影响,所有算法在 $D$ =100时都独立运行了30次,表2记录了各种算法在20个测试函数上30次独立实验的统计结果,对F1~F14,记录了最优目标值的平均值和标准差,对F15~F20,记录了最优误差的平均值和标准差。为检验本文算法与比较算法之间的差异性,进行了显著性水平为0.05的Wilcoxon秩和检验,“+”、“−”、“≈”分别表示比较算法与本文算法的成绩相比是好、差和相当。

表 2 算法30次独立测试结果(D=100) Tab.2 Thirty times optimization results of the algorithm(D=100)

表2可以看出,所有比较算法在F1这个原点最优问题上的收敛精度优于本文算法,在F4上所有算法都能达到理论最优值,除F20外,本文算法在余下的17个测试函数上的平均值和方差都优于比较算法,说明所提算法对非原点最优问题的优化能力较强,效果良好。从Wilcoxon符号秩检验的结果来看,比较算法最多在4个问题上优于或相当于本文算法,而在其余测试问题上都明显差于本文算法。

为进一步分析实验结果,图5~6给出了30次独立运行的平均最优目标值收敛曲线(D=100维),图7~8给出了30次独立运行的最优目标值分布盒图(D=100维)。

Download:
图 5 测试函数F11的收敛性曲线 Fig. 5 Convergence plot of benchmark function F11
Download:
图 6 测试函数F19的收敛性曲线 Fig. 6 Convergence plot of benchmark function F19
Download:
图 7 测试函数F11的最优目标值分布盒图 Fig. 7 Boxplot of the optimal value distribution of benchmark function F11
Download:
图 8 测试函数F19的最优目标值分布盒图 Fig. 8 Boxplot of the optimal value distribution of benchmark function F19

从收敛曲线图不难看出,本文算法对两个复杂优化函数(Rastrigin Shift Function、Shifted and Rotated Levy Function)的收敛曲线呈逐渐下降趋势,收敛效果明显优于其他比较算法,说明本文算法的全局搜索能力较强,不易陷入局部最优。

从统计盒图可以看出,本文算法30次独立实验所得的最优值的分布基本呈一条直线,差距很小,说明本文算法具有良好的稳定性。

4.3 随机交叉策略的有效性分析

为检验本文所使用的随机交叉策略的有效性,选取了复杂的非原点最优问题Weierstrass Function进行了测试,函数Weierstrass Function具有多个极小值点,算法很容易陷入局部最优的状况。设置维数 $D = 30$ , 种群大小 ${\rm{NP}} = 20$ , 最大评价次数MaxFEs=150 000,对搜索过程中产生的所有搜索点和每代的最优搜索点进行了跟踪记录,用于观察算法的搜索过程。图9描绘了搜索点(取30维中的2维绘制)的分布图。

Download:
图 9 搜索点分布 Fig. 9 Search point distribution

图9可以看出,未使用随机交叉策略的搜索过程中,种群在多个局部极值处都有聚集,使得在相同评价次数下,无法进行有效的开发,所得解的精度不高;而使用了随机交叉策略的搜索种群的分布很均匀,没有发生陷入局部最优的现象,大多数搜索点都聚集于最优解附近,更多地来进行局部开发,说明随机交叉策略能使算法有效地跳出局部最优,增强算法的全局搜索能力。

4.4 CSTLBO算法的种群多样性分析

为进一步研究CSTLBO算法的收敛过程,以4个复杂非原点最优测试函数(Schwefel 2.26 Function、Ackley Shift Function、Griewank Shift Function、Rastrigin Shift Function)为例进行实验(取维数 $D = 100$ ),在搜索过程中跟踪记录了算法种群多样性的变化,如图10所示。种群多样性[20]定义如下:

${\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)

式中 $\overline {{x_i}} $ 表示种群中第 $i$ 个决策变量的均值。

Download:
图 10 4个复杂非原点最优测试函数的种群多样性曲线 Fig. 10 Population diversity curves of four complex non-origin optimal benchmark function

图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)