第16卷第2期 智能系统学报 Vol.16 No.2 2021年3月 CAAI Transactions on Intelligent Systems Mar.2021 D0:10.11992tis.201910045 网络出版地址:https:/ns.cnki.net/kcms/detail/23.1538.TP.20200721.1319.004html 随机交叉-自学策略改进的教与学优化算法 黎延海,雍龙泉2,拓守恒 (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函数;非原点最优;多样性分析 中图分类号:TP391文献标志码:A文章编号:1673-4785(2021)02-0313-10 中文引用格式:黎延海,雍龙泉,拓守恒.随机交叉-自学策略改进的教与学优化算法J.智能系统学报,2021,16(2): 313-322. 英文引用格式:LI Yanhai,YONG Longquan,TUO Shouheng.Teaching--learning-based optimization algorithm based on random crossover-self-learning strategy[Jl.CAAI transactions on intelligent systems,2021,16(2):313-322. Teaching-learning-based optimization algorithm based on random crossover-self-learning strategy LI Yanhai',YONG Longquan,TUO Shouheng' (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"learn- ing"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 optim- ization 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 ex- perimental results indicate that the CSTLBO algorithm is able to avoid premature convergence,and has the advantages in global exploration,solution quality,and stability. Keywords:swarm Intelligence;teaching-learning-based optimization;random crossover;"self-learning" strategy;Benchmark function;non-origin-optimal;diversity analysis 教与学优化算法(teaching-learning-based op- 种模拟教师教学和学生相互学习的群体智能优化 timization,TLBO)是Rao等u于2011年提出的一 算法。该算法因参数设置少、容易实现、寻优性 收稿日期:2019-10-31.网络出版日期:2020-07-21. 能好,受到了众多研究者的关注,在函数优化 基金项目:国家自然科学基金项目(11502132):陕西省教育厅 工程参数优化可、投资组合优化用和多目标优化 重点科研计划项目(20JS021):陕西理工大学校级科 研项目(SLG1913). 等问题上得到了广泛的应用。 通信作者:黎延海.E-mail:liyanhai@snut.edu.cn TLBO算法作为一种群智能优化算法,在求
DOI: 10.11992/tis.201910045 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20200721.1319.004.html 随机交叉−自学策略改进的教与学优化算法 黎延海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 函数;非原点最优;多样性分析 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2021)02−0313−10 中文引用格式:黎延海, 雍龙泉, 拓守恒. 随机交叉−自学策略改进的教与学优化算法 [J]. 智能系统学报, 2021, 16(2): 313–322. 英文引用格式: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. Teaching-learning-based optimization algorithm based on random crossover-self-learning strategy LI Yanhai1 ,YONG Longquan1,2 ,TUO Shouheng3 (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 –selflearning 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. Keywords: 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 算法作为一种群智能优化算法,在求 收稿日期:2019−10−31. 网络出版日期:2020−07−21. 基金项目:国家自然科学基金项目 (11502132);陕西省教育厅 重点科研计划项目 (20JS021);陕西理工大学校级科 研项目 (SLG1913). 通信作者:黎延海. E-mail:liyanhai@snut.edu.cn. 第 16 卷第 2 期 智 能 系 统 学 报 Vol.16 No.2 2021 年 3 月 CAAI Transactions on Intelligent Systems Mar. 2021
·314· 智能系统学报 第16卷 解高维多模态复杂优化问题时也容易陷入局部最 有的起源偏倚,对原点最优问题(以坐标原点为 优,算法的收敛速度和精度都不够理想,为此,许 最优解的问题)有着原始的偏好,但对非原点最 多研究者在近几年相继提出了一些改进的 优问题(最优解不在坐标原点的问题)的优化效 TLBO算法。Ouyang等m为平衡全局与局部搜索 果则不太理想,现有的改进TLBO算法也没能很 效率,在“学阶段”增加了全局交叉策略,提出了 好地解决这类问题。 全局交叉的TLBO算法(teaching-learning-based 为此,本文在对标准TLBO算法的“教阶段” optimizatio with global crossover,TLBO-GC); 和“学阶段”的空间扰动进行几何分析解释的基础 Chen等8I设计了局部学习和自学习方法来提高 上,提出了一种基于随机交叉-自学策略的教与 TLBO的搜索能力,提出了一种改进的TLBO算 学优化算法(teaching and learning optimization al- (improved teaching-learning-based optimization, gorithm based on random crossover-self-study TLBO):Zou等9利用其他同学的学习经验,使用 strategy,CSTLBO)。算法使用各分量取值[-l,l] 两种随机概率来确定学习者在不同阶段的学习方 的随机向量替换了标准TLBO算法中各分量取值 法,提出了一种改进的TLBO算法(improved [0,刂的随机向量,通过引入随机交叉策略和“自 teaching-learning-based optimization with learning ex- 学”策略,增加种群的多样性,提高算法的全局搜 perience,LETLBO);王培崇等o采用小世界网络 索能力。使用了20个Benchmark测试函数进行 作为种群的空间结构关系,提出了具有小世界领 仿真实验,并与6种TLBO的改进算法(TLBO-GC、 域结构的TLBO算法(small world neighborhood ITLBO、DSTLBO、ATLS4I、NTLBOlS、TLBO- TLBO,S-TLBO);毕晓君等在“学阶段”融合差 CSWLI进行了比较,检验了所提算法的性能。 分进化算法变异策略,提出了基于混合学习策略 的教与学优化算法(TLBO based on hybrid learning 1教与学优化算法 strategies and disturbance,.DSTLBO);Ji等a受历史 1.1 优化问题的模型 种群概念的启发,在标准TLBO算法中引入了自 本文研究的优化问题的具体模型为: 反馈学习阶段和变异交叉阶段,提出了一种 minmize f(X) TLBO算法的变体(improved version of TLBO,I- TLBO):Yu等1将精英学习策略和多样性学习方 st.X=(x1,x2,…,xD)∈S 法引入到教师阶段和学习者阶段,学习者可以根 xe[xli=1,2…,D 据自身的特点自适应地选择不同的学习阶段,提 式中:X为决策向量;S表示搜索空间;和x分 出了一种自适应的TLBO算法(self-adaptive 别表示第i个决策变量:在搜索空间的上界和下 TLBO,SATLBO);Niu等对种群中每个个体采 界;D是搜索空间的维数;f为目标函数。 用不同的更新机制,提出了一种修正的TLBO算 1.2标准的教与学优化算法 (actual teaching learning situation TLBO,ATLS); 标准TLBO算法是一种模仿整个课堂教学过 SHUKLA等1在标准TLBO算法中引入邻近学 程的高效优化方法,通过模拟老师给班级学生的 习和差分突变策略,提出了邻近学习策略的TLBO 教学过程及班级中学员之间的交流学习过程,来 算法(eighbor based TLBO,NTLBO):柳缔西子等u 提高整个班级的成绩。主要包括两个阶段:“教阶 利用权重学习得到的个体来指引种群的进化,使 段”和“学阶段”,其基本步骤如下: 用Logistics混沌搜索策略来提高其全局搜索能 1)初始化。随机初始化NP位学员(即个 力,提出了基于混沌搜索和权重学习的教与学优 体)X=(,x,…,xo),j=1,2,…,NP。其中,NP表 化算法(TLBO based on chaotic search and weighted 示班级中的学员数(即种群的规模),D表示学习 learning,TLBO-CSWL):何杰光等m在原有的个体 的科目数(即待优化问题的维数)。 更新公式上加入更新个体局部维度的操作,提出 2)“教阶段”。选取班级中成绩最优(即适应 了基于个体局部维度改进的教与学优化算法(Io℃ 度值最小)的学员作为老师,记做teacher,每个学 al-dimension-improved TLBO,LdimTLBO); 员根据教师和全体学员平均水平的差异性(difference) Tsai1将交叉频率引入TLBO中,以防止算法过 来进行学习,具体如下: 早收敛,提出了受限的教与学优化算法(confined Xiw =Xou+difference (1) TLBO with variable search strategies,CTLBO)o difference=r⑧(Yeacher-Tp·mean) (2) 些TLBO的改进算法在一定程度上提高了算法的 式中:、w分别表示第j位学员X在教学 优化性能,降低了算法陷入局部最优的可能,但 前、后的知识水平;r=(,2,…,ro)表示学习步 文献[19]揭示标准TLBO算法在“教”阶段存在固 长,为0,1)间的随机数;符号⑧表示直积运算;
解高维多模态复杂优化问题时也容易陷入局部最 优,算法的收敛速度和精度都不够理想,为此,许 多研究者在近几年相继提出了一些改进 的 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, ITLBO);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 算法也没能很 好地解决这类问题。 [−1,1] [0,1] 为此,本文在对标准 TLBO 算法的“教阶段” 和“学阶段”的空间扰动进行几何分析解释的基础 上,提出了一种基于随机交叉−自学策略的教与 学优化算法 (teaching and learning optimization algorithm based on random crossover-self-study strategy, CSTLBO)。算法使用各分量取值 的随机向量替换了标准 TLBO 算法中各分量取值 的随机向量,通过引入随机交叉策略和“自 学”策略,增加种群的多样性,提高算法的全局搜 索能力。使用了 20 个 Benchmark 测试函数进行 仿真实验,并与 6 种 TLBO 的改进算法 (TLBO-GC[7] 、 ITLBO[8] 、DSTLBO[11] 、ATLS[14] 、NTLBO[15] 、TLBOCSWL[16] ) 进行了比较,检验了所提算法的性能。 1 教与学优化算法 1.1 优化问题的模型 本文研究的优化问题的具体模型为: minmize X f (X) s.t.X = (x1, x2,··· , xD) ∈ S, xi ∈ [ x L i , x U i ] ,i = 1,2,··· ,D X S x L i x U i i xi D f 式中: 为决策向量; 表示搜索空间; 和 分 别表示第 个决策变量 在搜索空间的上界和下 界; 是搜索空间的维数; 为目标函数。 1.2 标准的教与学优化算法 标准 TLBO 算法是一种模仿整个课堂教学过 程的高效优化方法,通过模拟老师给班级学生的 教学过程及班级中学员之间的交流学习过程,来 提高整个班级的成绩。主要包括两个阶段:“教阶 段”和“学阶段”,其基本步骤如下: NP X j = (x j 1 , x j 2 ,··· , x j D ) j = 1,2,··· ,NP NP D 1) 初始化。随机初始化 位学员 (即个 体) , 。其中, 表 示班级中的学员数 (即种群的规模), 表示学习 的科目数 (即待优化问题的维数)。 X teacherdifference 2)“教阶段”。选取班级中成绩最优 (即适应 度值最小) 的学员作为老师,记做 ,每个学 员根据教师和全体学员平均水平的差异性 ( ) 来进行学习,具体如下: X j new = X j old +difference (1) difference = r⊗ ( X teacher −TF · X mean) (2) X j old X j new j X j r = (r1,r2,··· ,rD) ri [0,1] ⊗ 式中: 、 分别表示第 位学员 在教学 前、后的知识水平; 表示学习步 长, 为 间的随机数;符号 表示直积运算; ·314· 智 能 系 统 学 报 第 16 卷
第2期 黎延海,等:随机交叉-自学策略改进的教与学优化算法 ·315· Tr=round[1+rand(0,1)】表示教学因子,取值为 2教与学优化算法的空间扰动分析 1或2;Ymean= ∑x!表示班级全体学员的平均 1 =1 2.1标准TLB0算法的几何解释 知识水平。 为了更好地理解TLBO的工作原理,以二维 “教阶段”完成后,评估学员的学习成绩 空间为例,采用几何分析的方法来解释算法在“教 (即适应度值fX),如果fXw)<fX),则进行 阶段”和“学阶段”的空间扰动状况。 更新,即X=Xw,否则不更新。 文献[19]指出式(2)和(3)中的r本质上是一 3)“学阶段”。学员之间进行相互交流,通过 个各分量都取值于[0,1]的D维随机向量,考虑到 向其他同学学习,来提升自身的水平。从班级中 由随机参数所引起的扰动的极限情形,容易观察 随机抽取一个学员K,k是[1,NP]中的一个随机 出“教阶段”和“学阶段”的空间扰动情形。由于 整数,+,学员与其进行交流学习,具体如下: r中的每个元素都是取值于[0,1]的随机数,所以 X+r®(X-X),i证f(x)<f(K) (3) r对difference的影响实际是一个尺度上的缩放, X+r⑧(W-X),其他 即difference可以为图l(b)、(c)方框内的任意向 学习完成后,如果f(X)<f(X),则更新个 量。图l(a)给出了T(取1或2)的两种情况下dif 体,即=w,否则不更新。 ference的向量表示;图l(b)描述了“教阶段”,应 4)如果满足终止条件(达到最大评估次数或 用于X的两个可能的扰动框,从概率角度描述了 最大迭代次数),则优化结束并输出最优个体 应用于X每一个可能的扰动;图1(c)描述了“学 X,否则转至2)继续。 阶段”,应用于X的两种可能的扰动框。 2*X 7 扰动 Br-Xc 范围 一扰动 范围 0 (a)differencel的向量表示 (b)“教阶段”的扰动 (c)“学阶段”的扰动 图1扰动分析的几何解释 Fig.1 Geometric interpretation of disturbance analysis 2.2随机向量的扰动分析 倍,这样能增大算法跳出局部最优的概率,在一 类似于2.1节的分析,如果将式(2)和式(3)中 定程度上改善算法“早熟”收敛的状况,提高全局 各分量取值于[0,1]的随机向量替换为各分量取 搜索能力。 值于[-1,1]的随机向量,则应用于X的扰动范围 图2(a)、(b)分别描述了在“教阶段”和“学阶 将会扩大,“教阶段”的搜索扰动范围会变为原来 段”,使用各分量取值于[一1,1]的随机向量后,应 的4倍,而“学阶段”的扰动范围将变为原来的两 用于X的可能的扰动范围。 扰动范围 扰动 范围 0 0 (a)“教阶段”的扰动 b)“学阶段”的扰动 图2 扰动分析的几何解释(C,∈【-1,1) Fig.2 Geometric interpretation of disturbance analysis(r E[-1,1])
TF = round[1+rand(0,1)] X mean = 1 NP ∑NP j=1 X j 表示教学因子,取值 为 1 或 2; 表示班级全体学员的平均 知识水平。 X j f(X j ) f(X j new) < f(X j old) X j = X j new “教阶段”完成后,评估学员 的学习成绩 (即适应度值 ),如果 ,则进行 更新,即 ,否则不更新。 k , j X j 3)“学阶段”。学员之间进行相互交流,通过 向其他同学学习,来提升自身的水平。从班级中 随机抽取一个学员 K k ,k 是 [1,NP] 中的一个随机 整数, ,学员 与其进行交流学习,具体如下: X j new = X j old +r ⊗ ( X k − X j ) , if f ( X k ) < f ( X j ) X j old +r ⊗ ( X j − X k ) , 其他 (3) f ( X k ) < f ( X j ) X j = X j new 学习完成后,如果 ,则更新个 体,即 ,否则不更新。 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) 描述了“教阶段”,应 用于 X j 的两个可能的扰动框,从概率角度描述了 应用于 X j 每一个可能的扰动;图 1(c) 描述了“学 阶段”,应用于 X j 的两种可能的扰动框。 2*Xmean X j Xmean Xteacher 扰动 范围 X j X r 扰动 范围 (a) difference的向量表示 (b) “教阶段”的扰动 (c) “学阶段”的扰动 x2 O x1 x2 O x1 x2 O x1 图 1 扰动分析的几何解释 Fig. 1 Geometric interpretation of disturbance analysis 2.2 随机向量的扰动分析 类似于 2.1 节的分析,如果将式 (2) 和式 (3) 中 各分量取值于 [0,1] 的随机向量替换为各分量取 值于 [−1,1] 的随机向量,则应用于 X j 的扰动范围 将会扩大,“教阶段”的搜索扰动范围会变为原来 的 4 倍,而“学阶段”的扰动范围将变为原来的两 倍,这样能增大算法跳出局部最优的概率,在一 定程度上改善算法“早熟”收敛的状况,提高全局 搜索能力。 图 2(a)、(b) 分别描述了在“教阶段”和“学阶 段”,使用各分量取值于 [−1,1] 的随机向量后,应 用于 X j 的可能的扰动范围。 X j X j X r 扰动 范围 扰动范围 (a) “教阶段”的扰动 (b) “学阶段”的扰动 x2 O x1 x2 O x1 图 2 扰动分析的几何解释 (ri∈[−1,1]) Fig. 2 Geometric interpretation of disturbance analysis(ri∈[−1,1]) 第 2 期 黎延海,等:随机交叉−自学策略改进的教与学优化算法 ·315·
·316· 智能系统学报 第16卷 2.3随机扰动的实验分析 典型的原点最优的多峰问题,~6是对它们进行 为检验上述对使用不同取值范围的随机数所 了Shift操作(非原点最优)。设置维度D=30,种 产生的扰动状况的分析,将标准TLBO算法和 群大小NP=10,评价次数为150000次。表1统 TLBO(r为各分量取值于[-1,1)的随机向量)在 计了30次独立运行得到的最优目标值的平均值、 6个标准测试函数上进行仿真测试,其中~5是 标准差及运行时间,图3给出6个函数的收敛曲线。 表130次实验统计结果 Table 1 Thirty times optimization statistical results 函数 算法 平均值±标准差 时间/s TLBO 5.32×1015±1.58×1015 1.22 f:Ackley Function TLBO, 7.99×1015±0.00 1.16 TLBO 0.00±0.00 1.22 Griewank Function TLBO, 1.48×100±3.69×100 1.33 TLBO 1.97×1001±1.30x1001 1.04 Rastrigin Function TLBO 5.76×1001±2.98×1001 1.05 TLBO 1.82×100±1.04 4.31 Ackley Shift Function TLBO, 7.64×1015±2.09×1015 4.14 TLBO 2.29±4.47 4.33 s:Griewank Shift Function TLBO 8.63×1004±2.69x100 4.12 TLBO 2.05×102±2.82×1001 3.11 Rastrigin Shift Function TLBO, 4.67×1001±2.68×1001 2.99 10 心 109 有的原点偏倚,允许收敛的种群继续沿着原点的 10 10 方向搜索更好的解决方案,从而对原点最优问题 TLBO 10 10 100 TLBO, 能取得更好的优化效果。对非原点最优问题,标 100 10- 准TLBO算法在种群收敛到局部最优时,要么继 10- 10-2 续利用局部最优信息,要么沿着原,点方向继续探 10 15 0 2 34 评价次数/10 评价次数/10 索,由于最优解在原点以外的点上,沿原点方向 (a)Ackley function (b)Ackley shift function 的搜索几乎毫无意义,所以无法进一步获得高精 103 10 02 TLBO -TLBO 度的解;而采用各分量取值于[-1,)的随机向量, 10 -TLBO 4 00 TLBO1 使得搜索范围成倍扩大,算法跳出局部最优的能 力得到提高,获得最优解的概率变大,随着迭代 10- 10 10-2 10-2 0-3 的进行,能取得更好的优化效果。 10- 10 0 5 10 15 0 10 评价次数/10的 评价次数/10 3基于随机交叉一自学策略的教与学 (c)Griewank function (d)Griewank shift function 优化算法 10 TLBO 103 TLBO ÷TLBO TLBO, 标准TLBO算法中,由于教师和学习对象都属 102 102 于现有种群,所以无论是“教阶段”还是“学阶段”的 操作都是在当前位置的有限范围内进行搜索,学习 10 10 者都依据现有种群的经验来提高自己的成绩,使得 0 10 0 10 15 评价次数/10 评价次数/10 算法具有良好的开发性能,而跳出局部最优的能力 (e)Rast function (f)Rastrigin shift function 不足。为增强算法的全局搜索能力,使迭代过程中 图3测试函数了的收敛曲线图 算法的探索与开发过程得到平衡,对“教”和“学”阶 Fig.3 Convergence plot of benchmark functionf 段进行改进,并使用随机交叉策略和“自学”策略, 从表1和图3可以看出,对原点最优问题,标 来提高算法对复杂多模态问题的优化性能。 准TLBO算法所得解的精度更高,时间更短,但对 3.1“教阶段”的改进 非原点最优问题,TLBO,算法的求解精度和时间 当班级中学生成绩差异较大时,最差成绩往 则更优。由于标准TLBO算法的“教”阶段存在固 往会拉低班级的平均水平,如果教学过程中重点
2.3 随机扰动的实验分析 r [−1,1] 为检验上述对使用不同取值范围的随机数所 产生的扰动状况的分析,将标准 TLBO 算法和 TLBO1 ( 为各分量取值于 的随机向量) 在 6 个标准测试函数上进行仿真测试,其中 f1~f3 是 D = 30 NP = 10 典型的原点最优的多峰问题,f4~f6 是对它们进行 了 Shift 操作 (非原点最优)。设置维度 ,种 群大小 ,评价次数为 150 000 次。表 1 统 计了 30 次独立运行得到的最优目标值的平均值、 标准差及运行时间,图 3 给出 6 个函数的收敛曲线。 表 1 30 次实验统计结果 Table 1 Thirty times optimization statistical results 函数 算法 平均值±标准差 时间/s f1 : Ackley Function TLBO 5.32×10−15±1.58×10−15 1.22 TLBO1 7.99×10−15±0.00 1.16 f2 : Griewank Function TLBO 0.00±0.00 1.22 TLBO1 1.48×10−03±3.69×10−03 1.33 f3 : Rastrigin Function TLBO 1.97×10+01±1.30×10+01 1.04 TLBO1 5.76×10+01±2.98×10+01 1.05 f4 :Ackley Shift Function TLBO 1.82×10+01±1.04 4.31 TLBO1 7.64×10−15±2.09×10−15 4.14 f5 :Griewank Shift Function TLBO 2.29±4.47 4.33 TLBO1 8.63×10−04±2.69×10−03 4.12 f6 : Rastrigin Shift Function TLBO 2.05×10+02±2.82×10+01 3.11 TLBO1 4.67×10+01±2.68×10+01 2.99 (b) Ackley shift function 评价次数/104 0 1 3 4 2 5 100 10−5 10−10 10−20 10−15 平均最好适应值 (a) Ackley function 评价次数/104 0 5 10 TLBO TLBO1 TLBO TLBO1 TLBO TLBO1 TLBO TLBO1 TLBO TLBO1 TLBO TLBO1 15 100 10−5 10−10 10 平均最好适应值 −15 104 103 (d) Griewank shift function 评价次数/104 0 5 10 15 102 101 100 10−1 10−2 10−3 10 平均最好适应值 −4 103 102 (c) Griewank function 评价次数/104 0 5 10 15 101 100 10−1 10−2 10 平均最好适应值 −3 (f) Rastrigin shift function 评价次数/104 0 5 10 15 平均最好适应值 103 (e) Rast function 评价次数/104 0 5 10 15 102 101 103 102 10 平均最好适应值 1 图 3 测试函数 f1~f6 的收敛曲线图 Fig. 3 Convergence plot of benchmark function f1~f6 从表 1 和图 3 可以看出,对原点最优问题,标 准 TLBO 算法所得解的精度更高,时间更短,但对 非原点最优问题,TLBO1 算法的求解精度和时间 则更优。由于标准 TLBO 算法的“教”阶段存在固 [−1,1] 有的原点偏倚,允许收敛的种群继续沿着原点的 方向搜索更好的解决方案,从而对原点最优问题 能取得更好的优化效果。对非原点最优问题,标 准 TLBO 算法在种群收敛到局部最优时,要么继 续利用局部最优信息,要么沿着原点方向继续探 索,由于最优解在原点以外的点上,沿原点方向 的搜索几乎毫无意义,所以无法进一步获得高精 度的解;而采用各分量取值于 的随机向量, 使得搜索范围成倍扩大,算法跳出局部最优的能 力得到提高,获得最优解的概率变大,随着迭代 的进行,能取得更好的优化效果。 3 基于随机交叉−自学策略的教与学 优化算法 标准 TLBO 算法中,由于教师和学习对象都属 于现有种群,所以无论是“教阶段”还是“学阶段”的 操作都是在当前位置的有限范围内进行搜索,学习 者都依据现有种群的经验来提高自己的成绩,使得 算法具有良好的开发性能,而跳出局部最优的能力 不足。为增强算法的全局搜索能力,使迭代过程中 算法的探索与开发过程得到平衡,对“教”和“学”阶 段进行改进,并使用随机交叉策略和“自学”策略, 来提高算法对复杂多模态问题的优化性能。 3.1 “教阶段”的改进 当班级中学生成绩差异较大时,最差成绩往 往会拉低班级的平均水平,如果教学过程中重点 ·316· 智 能 系 统 学 报 第 16 卷
第2期 黎延海,等:随机交叉-自学策略改进的教与学优化算法 ·317· 加强对最差生的关注,使其成绩得到大幅度提 式中r为各分量取值于[-1,的随机向量。 高,缩小与班级其他同学间的差距,则可以加快 3.2“学阶段”的改进 班级整体水平的提升。故用班级中的成绩最差者 学生学习时,不仅会在同学间进行相互交流, or替换班级平均水平mean,即 也会向老师请教。在迭代的前期,同学间的信息 交流较多,但随着迭代的进行,学生会更多地向 difference=r1⑧(-Te·X"o) (4) 老师请教.故对学习方式做如下改进: X+r2⑧ f(X)<f(X (5) X+r2⑧ + 其他 其中,2为各分量取值于[-1,1)的随机向量,k是 随机进行自我调整,提高学习效率,自学步长随迭 [1,NP]中的一个随机整数,k≠j,t为当前迭代次 代的进行由ms逐步动态缩小为dn。搜索前期, 数,Tmx为最大迭代次数。在迭代初期,t较小, 步长值较大,算法具有强的空间扰动能力,有助于 (1-t/Tmx)的值较大,学生间的相互讨论更多,算法 探索新的未知区域;随着迭代的进行,步长值逐渐 更加注重随机性学习,能够维持种群多样性,增大 缩小,使得对当前解的扰动幅度变小,有利于提高 有效搜索范围;随着迭代的进行,1逐渐增大, 解的精度,这样一种动态调整过程能有效平衡算法 (t/Tmx)越来越大,学生会更多地向老师求教,逐渐 在搜索过程中的空间扰动能力和局部寻优能力。 侧重于有向性学习,使算法的局部搜索能力增强。 同时,以概率SDR在搜索空间进行随机搜寻,进行 33随机交叉-自学策略 自我拓展学习,可以增加算法的全局搜索能力。大 3.3.1随机交叉策略 量数值实验测试表明,自我拓展率取值不宜过大, 学生经过“教”阶段后,各自的成绩会得到一 当SDR∈0.01,0.1]时,算法会有较好的性能。 定程度的提升,但彼此间的差距也会缩小,即种 3.4 CSTLBO算法的流程 群的多样性降低,而通过集体讨论交流,每位学 CSTLBO算法的具体流程如图4所示。 生都可以在不同科目上随机地向班级中不同的同 开始 学求教,并达到该同学在此科目上的水平,这实 际上就是种群间的一种随机交叉过程,具体为 参数设置和种群初始化 k右a,rand<rand ={其他 (6) 仁l i=1,2,…,D,j=1,2.…,NP,k是[1,NP]中的个 不同于j的随机整数,rand为0,1]间的随机数。这 “教阶段”,按式(1)、(4)更 里使用一种随机概率来确定学习者与不同学习对象 新所有个体,保留更优的个体。 间的交流程度,通过进行种群间的随机交叉,能够 =1+1 k=1 维持种群的多样性,提高算法跳出局部最优的能力。 3.3.2“自学”策略 <NP 实际学习过程中,部分学生在学习之余,也会 Y 根据自己当前的学习状况,挑选部分课程进行“自 N rand<SP 学”,发掘新的知识,从而提升自己的学业水平。 Y 采用式(6)进行随 具体如下:对第i门课程,产生一个0,1)间的随 机交叉 机数rand,来用于选择不同的“自学”方式。 “学阶段,按式 (⑤)更新个体 “自学阶段,按式 old +2.(rand-0.5).rand rand (7)、(8)更新 +rand.(x). rand SDR (7) 其他 =k+1 old.i Amin (益)月 (8) N 入n tTs i=1,2,…,D,j=1,2,…,NP。其中,SDR(self development rate,SDR)为自我拓展率,A表示自学 结束 步长,s、mm分别为最大、最小步长。 图4 CSTLBO算法流程 对每一科目,学生会根据自己当前的知识水平 Fig.4 Flow chart of CSTLBO algorithm
X worst X mean 加强对最差生的关注,使其成绩得到大幅度提 高,缩小与班级其他同学间的差距,则可以加快 班级整体水平的提升。故用班级中的成绩最差者 替换班级平均水平 ,即 difference = r1 ⊗ ( X teacher −TF · X worst) (4) 式中 r1 为各分量取值于 [−1,1] 的随机向量。 3.2 “学阶段”的改进 学生学习时,不仅会在同学间进行相互交流, 也会向老师请教。在迭代的前期,同学间的信息 交流较多,但随着迭代的进行,学生会更多地向 老师请教,故对学习方式做如下改进: X j new = X j old + r2 ⊗ [(1− t Tmax ) · X k old + ( t Tmax ) · X teacher − X j old] , if f(X k ) < f(X j ) X j old + r2 ⊗ [(1− t Tmax ) · X j old + ( t Tmax ) · X teacher − X k old] , 其他 (5) r2 [−1,1] k [1,NP] k , j t Tmax t (1−t/Tmax) t (t/Tmax) 其中, 为各分量取值于 的随机向量, 是 中的一个随机整数, , 为当前迭代次 数 , 为最大迭代次数。在迭代初期, 较小, 的值较大,学生间的相互讨论更多,算法 更加注重随机性学习,能够维持种群多样性,增大 有效搜索范围;随着迭代的进行, 逐渐增大, 越来越大,学生会更多地向老师求教,逐渐 侧重于有向性学习,使算法的局部搜索能力增强。 3.3 随机交叉−自学策略 3.3.1 随机交叉策略 学生经过“教”阶段后,各自的成绩会得到一 定程度的提升,但彼此间的差距也会缩小,即种 群的多样性降低,而通过集体讨论交流,每位学 生都可以在不同科目上随机地向班级中不同的同 学求教,并达到该同学在此科目上的水平,这实 际上就是种群间的一种随机交叉过程,具体为 x j new,i = { x k old,i , rand < rand x j old,i , 其他 (6) i = 1,2,··· ,D, j = 1,2,··· ,NP k [1,NP] j rand [0,1] , 是 中的一个 不同于 的随机整数, 为 间的随机数。这 里使用一种随机概率来确定学习者与不同学习对象 间的交流程度,通过进行种群间的随机交叉,能够 维持种群的多样性,提高算法跳出局部最优的能力。 3.3.2 “自学”策略 i [0,1] rand 实际学习过程中,部分学生在学习之余,也会 根据自己当前的学习状况,挑选部分课程进行“自 学”,发掘新的知识,从而提升自己的学业水平。 具体如下:对第 门课程,产生一个 间的随 机数 ,来用于选择不同的“自学”方式。 x j new,i = x j old,i+2 ·(rand−0.5)· λ, rand < rand x L i +rand · ( x U i − x L i ) , rand < SDR x j old,i , 其他 (7) λ = λmax × ( λmin λmax )( t Tmax ) 2 (8) i = 1,2,··· ,D, j = 1,2,··· ,NP SDR λ λmax λmin 。其中, (selfdevelopment rate, SDR) 为自我拓展率, 表示自学 步长, 、 分别为最大、最小步长。 对每一科目,学生会根据自己当前的知识水平 λmax λmin SDR SDR ∈ [0.01,0.1] 随机进行自我调整,提高学习效率,自学步长随迭 代的进行由 逐步动态缩小为 。搜索前期, 步长值较大,算法具有强的空间扰动能力,有助于 探索新的未知区域;随着迭代的进行,步长值逐渐 缩小,使得对当前解的扰动幅度变小,有利于提高 解的精度,这样一种动态调整过程能有效平衡算法 在搜索过程中的空间扰动能力和局部寻优能力。 同时,以概率 在搜索空间进行随机搜寻,进行 自我拓展学习,可以增加算法的全局搜索能力。大 量数值实验测试表明,自我拓展率取值不宜过大, 当 时,算法会有较好的性能。 3.4 CSTLBO 算法的流程 CSTLBO 算法的具体流程如图 4 所示。 参数设置和种群初始化 t=1 k<NP “学”阶段,按式 (5)更新个体 t=t+1 开始 Y “教阶段”,按式 (1)、(4)更 新所有个体,保留更优的个体。 rand<SP 采用式(6)进行随 机交叉 “自学”阶段,按式 (7)、(8)更新 t≤Tmax 结束 k=1 k=k+1 N Y Y N N 图 4 CSTLBO 算法流程 Fig. 4 Flow chart of CSTLBO algorithm 第 2 期 黎延海,等:随机交叉−自学策略改进的教与学优化算法 ·317·