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

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

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

TLBO算法步骤

  1. 初始化班级。班级中每个学员在搜索空间中随机生成。
  2. 教阶段,每个学员根据老师和学员的平均值之间的差异进行学习。学习的方法及时找教师和学生平均值之间的差异性,采用如下的方式实现“教”的过程: X n e w i = X o l d i + d i f f e r e n c e , d i f f r e n c e = r i ∗ ( X t e a c h e r − T F i ∗ m e a n ) X_{new}^i=X_{old}^i+difference,diffrence=r_i*(X_{teacher}-TF_i*mean) Xnewi=Xoldi+difference,diffrence=ri(XteacherTFimean),其中 T F i = r o u n d ( 1 + r a n d ( 0 , 1 ) ) TF_i=round(1+rand(0,1)) TFi=round(1+rand(0,1))和学习步长 r i = r a n d ( 0 , 1 ) r_i=rand(0,1) ri=rand(0,1),教完后更新学员。每个学员根据学习后的成绩和学习之间的成绩进行对比。 保留成绩好的。
  3. 学阶段。对每一个学员在班级里随机选取一个学习对象,通过分析自己和学员之间的差异进行学习调整,学习改进的方法类似于差分算法中差分变异算子。不同在于TLBO算法中的学习步长对每个学员采用不同的学习因子:在这里插入图片描述其中r=U(0,1),根据贪心法进行更新
  4. 如果满足结束条件就结束,否则转到2
    在教的阶段,类似粒子群中的社会搜索,每个个体都向teacher学习,这样很容易向teacher靠拢,搜索速度快,但是种群的多样性容易过早丢失,进而陷入局部搜索。
    在学的阶段,通过学院之间想过学习,在小范围内进行,不会过早向全局最优方向聚集,因此学员的多样性,保证全局搜索能力。

你可能感兴趣的:(群智能算法:教学优化算法)