群智能算法:教学优化算法

爷,独闯天下 提交于 2020-01-25 20:31:30

基本的教学优化算法基本概念

基于“教与学”的优化算法是模拟以班级为单位的学习方式,班级中的学员水平的提高需要教师的教来引导。同时学员之间需要相互学习来促进知识的吸收。其中,教师和学员相当于进化算法中的个体,而教师是适应度最好的个体之一。每个学员的某一刻相当于一个决策变量。

TLBO算法步骤

  1. 初始化班级。班级中每个学员在搜索空间中随机生成。
  2. 教阶段,每个学员根据老师和学员的平均值之间的差异进行学习。学习的方法及时找教师和学生平均值之间的差异性,采用如下的方式实现“教”的过程:Xnewi=Xoldi+difference,diffrence=ri(XteacherTFimean)X_{new}^i=X_{old}^i+difference,diffrence=r_i*(X_{teacher}-TF_i*mean),其中TFi=round(1+rand(0,1))TF_i=round(1+rand(0,1))和学习步长ri=rand(0,1)r_i=rand(0,1),教完后更新学员。每个学员根据学习后的成绩和学习之间的成绩进行对比。 保留成绩好的。
  3. 学阶段。对每一个学员在班级里随机选取一个学习对象,通过分析自己和学员之间的差异进行学习调整,学习改进的方法类似于差分算法中差分变异算子。不同在于TLBO算法中的学习步长对每个学员采用不同的学习因子:在这里插入图片描述其中r=U(0,1),根据贪心法进行更新
  4. 如果满足结束条件就结束,否则转到2
    在教的阶段,类似粒子群中的社会搜索,每个个体都向teacher学习,这样很容易向teacher靠拢,搜索速度快,但是种群的多样性容易过早丢失,进而陷入局部搜索。
    在学的阶段,通过学院之间想过学习,在小范围内进行,不会过早向全局最优方向聚集,因此学员的多样性,保证全局搜索能力。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!