智能优化算法与涌现计算
上QQ阅读APP看书,第一时间看更新

第17章 教学优化算法

教学优化算法的设计思想源于教师工作对学习者的影响。该算法是基于人群智能的优化方法,把一组学习者或一班学习者作为人群,使用一组解进而去求全局解。优化过程由“教师阶段”和“学习阶段”组成:教师阶段是指向教师学习;学习阶段是指通过学习者之间的互动学习。本章介绍教学优化算法的原理、数学描述、实现步骤及流程。

17.1 教学优化算法的提出

教学学习优化(Teaching-Learning-Based Optimization,TLBO)算法是2011年由Rao等提出的一种基于教学学习优化算法[58],简称教学优化算法,又称教与学优化算法。该优化算法的设计思想源于教师的工作对学习者的影响。它是基于人群智能的优化方法,使用一组解进而去求全局解。把一组学习者或一班学习者作为人群。TLBO的过程分为两部分:第一部分由“教师阶段”组成;第二部分由“学习阶段”组成。教师阶段是指向教师学习,学习阶段是指学习者之间互动学习。

通过测试了5个不同的约束基准测试函数和4个不同基准机械设计问题及6个实际的机械设计优化问题,结果表明,TLBO算法在最优解、平均解、收敛速度及计算量方面比其他优化算法更具优势。

17.2 教学优化算法的原理

假设两个不同教师T1和T2,在两个不同的班级中对两个同等程度的学生讲授同一门课的相同内容。如图17.1所示为由教师评估两个不同班级的学生所获得的标记分布曲线。曲线1和曲线2分别表示由教师T1和教师T2教授的学生获得的标记。假设获得的标记为正态分布,但在实际中可以具有偏斜度。正态分布定义为

其中,σ2为方差;μ为平均值;x为服从正态分布函数的任意值。

从图17.1中可以看出,曲线2表示的结果比曲线1表示的结果更好,可以说在教学方面教师T2比教师T1好。两者结果的主要区别是曲线2的平均值M2大于曲线1的平均值M1,即一个好的教师对学生的教学效果产生更好的平均值。学习者从他们之间的互动中学习也有助于他们的学习效果。

如图17.2所示的是针对具有平均MA的曲线A的班级中的学习者获得的标记模型。教师被认为是社会中的知识渊博的人,所以最好的学习者被模仿为教师,如图17.2所示的TA。老师试图在学习者之间传授知识,这将反过来提高全班的知识水平,帮助学生获得良好的标记或成绩。因此,增加班级的平均值是根据教师的能力。教师TA将根据他/她的能力尝试把MA提高到他们自己的水平,从而将学习者的水平提高到新的平均MB。教师TA将尽最大努力教授他/她的学生,但学生将根据教师的教学质量和课堂上学生的质量获得知识。所以,他的学生质量是从全班的平均值来评价的。教师TA努力把学生的质量从MA提高到MB,在这个阶段,学生就需要一个新的教师TB,其质量优于TA。于是,将会出现一个新的曲线B与新的教师TB,如图17.2所示。

图17.1 由两个不同教师教授获得知识标记的分布

图17.2 一组学生获得的知识标记分布模型

上述教学过程表明,一个最优秀的教师,教出一班优秀的学生;为了提高优秀学生的水平,需要更新更优秀的教师。如此循环下去,这就是一个最优化的过程,也是教学优化算法的基本原理。

17.3 教学优化算法的数学描述

为了解决无约束非线性连续函数的优化问题,需要建立上述教学过程的数学模型,从而设计教学优化(TLBO)算法。

TLBO算法也是基于群体的优化算法,使用群体的一组解进而求取全局最优解。该算法把一组学习者或一班学习者作为群体,群体由不同的设计变量组成。不同的设计变量类似于向学习者提供的不同主题,并且学习者的结果类似于“适合度”,教师被认为是迄今为止获得的最好的解。

TLBO算法的过程分为两个部分:第一部分由“教师阶段”组成;第二部分由“学习阶段”组成。“教师阶段”是指向教师学习,而“学习阶段”是指学习者之间相互学习。

1. 教师阶段

如图17.2所示,一个班的平均值从MA增加到MB,取决于一个好的教师。一个好的教师是一个使他/她的学习者在知识方面达到他/她的水平的人。但在实践中这是不可能的,教师只能根据这个班级的能力在一定程度上提高这个班级的平均值。这是一个取决于许多因素的随机过程。

Mi为平均值,Ti为所有迭代i的教师。Ti将尝试将平均值Mi提高到其自己的水平,因此,现在新的平均值为Mnew,根据现有和新的平均值之间的差异更新解为

Differece_Meani=riMnew-TFMi(17.2)

其中,TF为决定要改变平均值的教学因子;ri为在[0,1]区间中的随机数。TF的取值可以是1或2,这也是一个启发式步骤并以等概率随机地决定TF=round[1+rand(0,1){2-1}]。

根据这个差异修改现有解的表达式为

Xnewi=Xoldi+Differece_Meani(17.3)

2. 学习阶段

学习者通过两种不同的方式增加他们的知识:一是通过教师的传授;二是通过学习者在小组讨论、演示、正式沟通等方式随机与其他学习者交互等。如果学习者从比他/她有更多知识的学习者那里学习到新的知识,则学习者修改表示为

     For i=1:Pn
     随机选择两个学生xi和xj,i≠j
     If f(xi)<f(xj)
     Xnew,i=Xold,i+ri(xi-xj)
     Else
     Xnew,i=Xold,i+ri(xj-xi)
     End If
     End For
     Xnew若给出最好的目标函数值接受它

17.4 教学优化算法的实现步骤

TLBO算法实现的具体步骤如下。

(1)定义优化问题并初始化优化参数。初始化种群大小Pn,迭代次数Gn,设计变量的数量Dn和设计变量的约束(ULLL)。

定义优化问题为使目标函数fX)最小化。X是设计的变量,Xixi=1,2,…,Dn且满足LLixiULI

(2)初始化群体。根据种群大小随机生成种群和设计变量的数量。群体规模表示学习者的数量,设计变量表示所提供的科目(即课程)。这个群体表示为

(3)教师阶段。按上述矩阵所列的人口计算平均值,这将是给出特定主体的平均值

MD=[m1m2,…,mD(17.4)

最好的解将作为该迭代的教师

Xteacher=XfX)=min(17.5)

教师会尝试将平均值从MD移动到Xteacher,这将作为迭代的新平均值。所以

M_newD=XteacherD(17.6)

两个均值之间的差值表示为

DifferenceD=r(M_newD-TFMD(17.7)

TF的值选择为1或2。将获得的差值添加到当前解中,以使用更新其值

Xnew,D=XoldD+DifferenceD(17.8)

如果它给出更好的目标函数值,则接受Xnew

(4)学习阶段。如上所述,学习者借助于他们之间的互动来增加他们的知识,其数学描述如上所述。

(5)终止标准。如果达到最大迭代次数则停止,否则重复步骤(3)。

从上述步骤可以看出,没有规定处理该问题中的约束。在TLBO算法中使用启发式约束处理方法。此方法使用竞争选择算子,选择其中的两个解,并进行比较。采用以下3个启发式规则选择。

(1)如果一个解是可行的,而另一个不可行,则选择可行解。

(2)如果两个解都是可行的,那么优选目标函数值更好的解。

(3)如果两个解都不可行,那么违反约束最小的解是优选的。

将这些规则加在步骤(3)和步骤(4)的结尾,即加在教师阶段和学习阶段的结尾。

如果替代的可行解Xnew在步骤(3)和步骤(4)结束时给出更好的目标函数值,则使用上述3个启发式规则来选择Xnew

教学优化算法的流程如图17.3所示。

图17.3 教学优化算法的流程图