群体智能优化算法之 分组教学优化算法(Group teaching optimization algorithm,GTOA)

群体智能优化算法之 分组教学优化算法(Group teaching optimization algorithm,GTOA)

本文已参加「新人创作礼」活动,一起敞开创作之路。

获取更多资讯,从速重视大众号(名称:智能制作与智能调度,大众号:deeprlscheduler)吧!

文章目录

  • 第三十二章 分组教育优化算法(Group teaching optimization algorithm,GTOA)
    • 基本思维
    • GTOA结构
      • 才能分组阶段
      • 教师阶段
      • 学生阶段
      • 教师分配阶段
    • GTOA完成

第三十二章 分组教育优化算法(Group teaching optimization algorithm,GTOA)

许多传统的智能优化算法往往需求许多额外的操控参数,而每个参数设置都需求必定的先验常识,或不断测验,一旦这些参数设置的不合适,就会严重影响算法的优化性能。为了处理这样的问题,天津大学的Yiying Zhang于2020年提出了一种新的全局优化算法——分组教育优化算法(Group teaching optimization algorithm,GTOA)。

该算法遭到分组教育机制的启发。分组教育是一种常见的教育模式,能够简述如下:学生首要按照规矩的规矩被分红若干组,然后结合每个小组的特色,教师会运用详细的教育方法来进步小组的常识。

基本思维

在中国历史上,孔子最早提出了”因材施教“的教育理念,就是说教师应该依据不同学生的特色拟定合适他们的教育方法,所以GTOA的思维在于经过仿照分组教育来进步整个班级的常识水平。考虑到学生之间的各种差异,分组教育在实践中实施起来比较复杂。为了使分组教育习惯于作为一种优化技术,我们首要假定种群、决议计划变量和习惯度值别离与学生、提供给学生的课程和学生的常识类似。在此基础上,定义了4条规矩,构建了一个简略且不失一般性的分组教育模型:

  1. 学生之间的唯一差异在于承受常识的才能,学生承受常识的才能差异越大,教师在拟定教育计划时面对的挑战就越大。
  2. 一个好的教师往往更重视承受常识才能较差的学生,而不是承受常识才能较强的学生。
  3. 在课余时间,学生能够经过自学和与其他学生的沟通来取得自己的常识。
  4. 良好的教师分配机制对进步学生的常识水平十分有帮助。

GTOA结构

GTOA的分组教育模型中存在4个阶段,包含教师分配阶段、才能分组阶段、教师阶段和学生阶段,如下图所示。

群体智能优化算法之 分组教学优化算法(Group teaching optimization algorithm,GTOA)

才能分组阶段

不失一般性,能够假定整个班级的常识服从正太散布:

f ( x ) = 1 2 e − ( x − u ) 2 2 2 (1) f(x)=\frac{1}{\sqrt{2 \pi} \delta} e^{\frac{-(x-u)^{2}}{2 \delta^{2}}}\tag{1} f(x)=2 ​1​e22−(x−u)2​(1)

其间 u u u为整个班级的均匀常识水平, \delta 为标准差。一位优异的教师不仅要考虑怎么进步均匀常识 u u u,而且要考虑怎么削减标准差 \delta 。为了为了完成这一方针,教师应该针对其学生拟定合适的教育计划。

群体智能优化算法之 分组教学优化算法(Group teaching optimization algorithm,GTOA)

上图为两种不同教育方法的散布模型,图(a)为传统教育方法的常识散布,能够看出该散布相对涣散。为了更好地体现分组教育的特色,能够将所有学生依据承受常识的水平分红两组,这两个组在GTOA中平等重要,因而这两组具有相同的学生数量。承受才能强的学生称为超卓学生或优异学生,而承受才能差一点的则称为一般学生或平庸学生。图(b)展示了依据才能分组的常识散布,能够看出超卓组和一般组的标准差比(a)中的小许多。考虑到第一条规矩,因为标准差变小,教师在拟定教育计划时更容易选用才能分组法,而不是传统的教育方法。值得注意的是,在图(b)中,超卓组和一般组的标准差可能会跟着教育活动的进行而增大。为了处理这个问题,才能分组在GTOA中是一个动态的进程,需求每当在一个学习周期结束之后再进行一次分组。

教师阶段

教师阶段意味着学生从教师那学习常识,这对应于第二条规矩。在GTOA中,教师为一般组和超卓组拟定不同的教育计划。

  • 教师阶段Ⅰ:因为承受常识的才能较强,在提出的GTOA中,教师更加重视对超卓组整体常识的进步。更详细地说,教师能够尽其所能进步全班的均匀常识水平。此外,还需求考虑学生在承受常识方面的差异。因而,超卓组的学生能够经过下式获取常识:
    x teacher , i t + 1 = x i t + a ( T t − F ( b M t + c x i t ) ) (2) \mathbf{x}_{\text {teacher }, i}^{t+1}=\mathbf{x}_{i}^{t}+a \times\left(\mathbf{T}^{t}-F \times\left(b \times \mathbf{M}^{t}+c \times \mathbf{x}_{i}^{t}\right)\right)\tag{2} xteacher,it+1​=xit​+a(Tt−F(bMt+cxit​))(2)

M t = 1 N ∑ i = 1 N x i t (3) \mathbf{M}^{t}=\frac{1}{N} \sum_{i=1}^{N} \mathbf{x}_{i}^{t}\tag{3} Mt=N1​i=1∑N​xit​(3)

b + c = 1 (4) b+c=1\tag{4} b+c=1(4)

其间 t t t为当时迭代次数, N N N是学生数量, x i t \mathbf{x}_{i}^{t} xit​为学生 i i i在时间 t t t的常识, T t \mathbf{T}^{t} Tt是教师在时间 t t t的常识, M t \mathbf{M}^{t} Mt是时间 t t t小组的均匀常识, F F F是决议教师教育成果的教育因子, x teacher , i t + 1 \mathbf{x}_{\text {teacher }, i}^{t+1} xteacher,it+1​是学生 i i i在时间 t t t向其教师学习到的常识。 a , b , c a,b,c a,b,c均是 [ 0 , 1 ] [0,1] [0,1]内的随机数。 F F F的值通常为1或2。

  • 教师阶段Ⅱ:考虑到承受常识的才能较差,依据第二条规矩,教师更重视一般组,教师倾向于从个别的视点进步学生的常识水平。因而一般组的学生能够经过下式获取常识:
    x teacher , i t + 1 = x i t + 2 d ( T t − x i t ) (5) \mathbf{x}_{\text {teacher }, i}^{t+1}=\mathbf{x}_{i}^{t}+2 \times d \times\left(\mathbf{T}^{t}-\mathbf{x}_{i}^{t}\right)\tag{5} xteacher,it+1​=xit​+2d(Tt−xit​)(5)

其间 d d d为 [ 0 , 1 ] [0,1] [0,1]内的随机数。

此外,学生并不能确保在教师阶段必定会取得常识,以最小化问题为例,只有当习惯度值下降时才会更新下一时间的方位。

x teacher , i t + 1 = { x teacher , i t + 1 , f ( x teacher , i t + 1 ) < f ( x i t ) x i t , f ( x teacher, , i t + 1 ) ≥ f ( x i t ) (6) \mathbf{x}_{\text {teacher }, i}^{t+1}=\left\{\begin{array}{l} \mathbf{x}_{\text {teacher }, i}^{t+1}, f\left(\mathbf{x}_{\text {teacher }, i}^{t+1}\right)<f\left(\mathbf{x}_{i}^{t}\right) \\ \mathbf{x}_{i}^{t}, f\left(\mathbf{x}_{\text {teacher, }, i}^{t+1}\right) \geq f\left(\mathbf{x}_{i}^{t}\right) \end{array}\right.\tag{6} xteacher,it+1​=⎩⎨⎧​xteacher,it+1​,f(xteacher,it+1​)<f(xit​)xit​,f(xteacher,,it+1​)≥f(xit​)​(6)

学生阶段

依据第三条规矩,学生阶段也包含Ⅰ和Ⅱ两个阶段。在课余时间,学生能够有两种不同的方式获取常识:自学和与同学沟通,可经过下式表达:
x student , i t + 1 = { x teacher , i t + 1 + e ( x teacher , i t + 1 − x teacher , j t + 1 ) + g ( x teacher , i t + 1 − x i t ) , f ( x teacher , i t + 1 ) < f ( x teacher , j t + 1 ) x teacher , i t + 1 − e ( x teacher , i t + 1 − x teacher , j t + 1 ) + g ( x teacher , i t + 1 − x i t ) , f ( x teacher , i t + 1 ) ≥ f ( x teacher , j t + 1 ) (7) \mathbf{x}_{\text {student }, i}^{t+1}=\left\{\begin{array}{l} \mathbf{x}_{\text {teacher }, i}^{t+1}+e \times\left(\mathbf{x}_{\text {teacher }, i}^{t+1}-\mathbf{x}_{\text {teacher }, j}^{t+1}\right) +g \times\left(\mathbf{x}_{\text {teacher }, i}^{t+1}-\mathbf{x}_{i}^{t}\right), f\left(\mathbf{x}_{\text {teacher }, i}^{t+1}\right)<f\left(\mathbf{x}_{\text {teacher }, j}^{t+1}\right) \\ \mathbf{x}_{\text {teacher }, i}^{t+1}-e \times\left(\mathbf{x}_{\text {teacher }, i}^{t+1}-\mathbf{x}_{\text {teacher }, j}^{t+1}\right)+g \times\left(\mathbf{x}_{\text {teacher }, i}^{t+1}-\mathbf{x}_{i}^{t}\right), f\left(\mathbf{x}_{\text {teacher }, i}^{t+1}\right) \geq f\left(\mathbf{x}_{\text {teacher }, j}^{t+1}\right) \end{array}\right.\tag{7} xstudent,it+1​=⎩⎨⎧​xteacher,it+1​+e(xteacher,it+1​−xteacher,jt+1​)+g(xteacher,it+1​−xit​),f(xteacher,it+1​)<f(xteacher,jt+1​)xteacher,it+1​−e(xteacher,it+1​−xteacher,jt+1​)+g(xteacher,it+1​−xit​),f(xteacher,it+1​)≥f(xteacher,jt+1​)​(7)

其间 e e e和 g g g为两个 [ 0 , 1 ] [0,1] [0,1]之间的随机数。 x student , i t + 1 \mathbf{x}_{\text {student }, i}^{t+1} xstudent,it+1​是学生 i i i在时间 t t t经过学生阶段学习到的常识, x teacher , j t + 1 \mathbf{x}_{\text {teacher }, j}^{t+1} xteacher,jt+1​是学生 j j j在时间 t t t经过教师阶段学习到的常识,学生 j ∈ { 1 , 2 , . . . , i − 1 , i + 1 , . . . , N } j\in\{1,2,…,i-1,i+1,…,N\} j∈{1,2,…,i−1,i+1,…,N}是随机选择的。上式中的第2项和第3项别离表明向其他同学学习自学

相同,学生也并不能确保在学生阶段必定会取得常识,以最小化问题为例,只有当习惯度值下降时才会更新下一时间的方位。
x i t + 1 = { x teacher , i t + 1 , f ( x teacher , i t + 1 ) < f ( x student , i t + 1 ) x student , i t + 1 , f ( x teacher , i t + 1 ) ≥ f ( x student , i t + 1 ) (8) \mathbf{x}_{i}^{t+1}=\left\{\begin{array}{l} \mathbf{x}_{\text {teacher }, i}^{t+1}, f\left(\mathbf{x}_{\text {teacher }, i}^{t+1}\right)<f\left(\mathbf{x}_{\text {student }, i}^{t+1}\right) \\ \mathbf{x}_{\text {student }, i}^{t+1}, f\left(\mathbf{x}_{\text {teacher }, i}^{t+1}\right) \geq f\left(\mathbf{x}_{\text {student }, i}^{t+1}\right) \end{array}\right.\tag{8} xit+1​=⎩⎨⎧​xteacher,it+1​,f(xteacher,it+1​)<f(xstudent,it+1​)xstudent,it+1​,f(xteacher,it+1​)≥f(xstudent,it+1​)​(8)

其间 x i t + 1 \mathbf{x}_{i}^{t+1} xit+1​是学生 i i i一次学习循环后在时间 t + 1 t+1 t+1的常识。

教师分配阶段

依据第四条规矩,怎么拟定一个良好的教师装备机制,对进步学生的常识水平具有十分重要的含义。仿照灰狼优化中的保存三个最优解的思维,教师分配机制能够表达为:

T t = { x first t , f ( x first t ) ≤ f ( x firs t + x sscond t + x third t 3 ) x first t + x second t + x third t 3 , f ( x first t ) > f ( x firs t + x second t + x thicd t 3 ) (9) \mathbf{T}^{t}=\left\{\begin{array}{ll} \mathbf{x}_{\text {first }}^{t}, & f\left(\mathbf{x}_{\text {first }}^{t}\right) \leq f\left(\frac{\mathbf{x}_{\text {firs }}^{t}+\mathbf{x}_{\text {sscond }}^{t}+\mathbf{x}_{\text {third }}^{t}}{3}\right) \\ \frac{\mathbf{x}_{\text {first }}^{t}+\mathbf{x}_{\text {second }}^{t}+\mathbf{x}_{\text {third }}^{t}}{3}, & f\left(\mathbf{x}_{\text {first }}^{t}\right)>f\left(\frac{\mathbf{x}_{\text {firs }}^{t}+\mathbf{x}_{\text {second }}^{t}+\mathbf{x}_{\text {thicd }}^{t}}{3}\right) \end{array}\right.\tag{9} Tt=⎩⎨⎧​xfirstt​,3xfirstt​+xsecondt​+xthirdt​​,​f(xfirstt​)≤f(3xfirst​+xsscondt​+xthirdt​​)f(xfirstt​)>f(3xfirst​+xsecondt​+xthicdt​​)​(9)
其间 x f i r s t t , x s e c o n d t , x t h i r d t \bf{x}_{{\rm{first }}}^t,\bf{x}_{{\rm{second }}}^t,\bf{x}_{{\rm{third }}}^t xfirstt​,xsecondt​,xthirdt​别离为第一优、第二优和第三优学生,为了加快算法的收敛,超卓组和一般组共用相同的教师

GTOA完成

下面给出GTOA的完成步骤。

Step1:初始化

(1.1)初始化参数。这些参数包含最大评价次数 T m a x T_{max} Tmax​,当时评价次数 T c u r r e n t ( T c u r r e n t = 0 ) T_{current}(T_{current}=0) Tcurrent​(Tcurrent​=0),种群大小 N N N,决议计划变量的上下界 u \bf{u} u和 l \bf{l} l,维度 D D D和习惯度函数 f ( ⋅ ) f() f(⋅)。

(1.2)初始化种群。依据以上初始参数随机生成种群 X t \bf{X}^t Xt:
X t = [ x 1 t , x 2 t , … , x N t ] T = [ x 1 , 1 t x 1 , 2 t … x 1 , D t x 2 , 1 t x 2 , 2 t … x 2 , D t ⋮ ⋮ ⋮ x N , 1 t x N , 2 t … x N , D t ] (10) \mathbf{X}^{t}=\left[\mathbf{x}_{1}^{t}, \mathbf{x}_{2}^{t}, \ldots, \mathbf{x}_{N}^{t}\right]^{\mathrm{T}}=\left[\begin{array}{cccc} x_{1,1}^{t} & x_{1,2}^{t} & \dots & x_{1, D}^{t} \\ x_{2,1}^{t} & x_{2,2}^{t} & \dots & x_{2, D}^{t} \\ \vdots & \vdots & & \vdots \\ x_{N, 1}^{t} & x_{N, 2}^{t} & \dots & x_{N, D}^{t} \end{array}\right]\tag{10} Xt=[x1t​,x2t​,…,xNt​]T=⎣⎢⎢⎢⎡​x1,1t​x2,1t​⋮xN,1t​​x1,2t​x2,2t​⋮xN,2t​​………​x1,Dt​x2,Dt​⋮xN,Dt​​⎦⎥⎥⎥⎤​(10)

x i , j t = l i + ( u i − l i ) (11) x_{i, j}^{t}=l_{i}+\left(u_{i}-l_{i}\right) \times \kappa\tag{11} xi,jt​=li​+(ui​−li​)(11)

其间 \kappa 为 [ 0 , 1 ] [0,1] [0,1]之间的随机数。

Steo2:种群评价。

核算个别的习惯度值,选出最优解 G t \mathbf{G}^{t} Gt,更新当时函数评价次数 T c u r r e n t T_{current} Tcurrent​:
T c u r r e n t = T c u r r e n t + N (12) T_{current}=T_{current}+N\tag{12} Tcurrent​=Tcurrent​+N(12)

Step3:停止准则

假如当时评价次数 T c u r r e n t T_{current} Tcurrent​大于最大评价次数 T m a x T_{max} Tmax​,停止算法并输出最优解 G t \mathbf{G}^{t} Gt,不然跳转至Step4。

Step4:教师分配阶段

选出三个最优解,依据公式(9)核算 T t {{\bf{T}}^t} Tt。

Step5:才能分组阶段

依据习惯度值将种群分红两个组,最好的一半个别组成超卓组 X good t \mathbf{X}_{\text {good }}^{t} Xgoodt​,剩下的个别组成一般组 X bad t \mathbf{X}_{\text {bad }}^{t} Xbadt​。这两组共用相同的教师。

Step6:教师阶段和学生阶段

(6.1)关于 X good t \mathbf{X}_{\text {good }}^{t} Xgoodt​组,依据公式(2),(3),(4)和(6)完成教师阶段,再依据(7)和(8)执行学生阶段。终究获取新的 X good t + 1 \mathbf{X}_{\text {good }}^{t+1} Xgoodt+1​。

(6.2)关于 X bad t \mathbf{X}_{\text {bad }}^{t} Xbadt​组,依据公式(5)和(6)完成教师阶段,再依据(7)和(8)执行学生阶段。终究获取新的 X bad t + 1 \mathbf{X}_{\text {bad }}^{t+1} Xbadt+1​。

Step7:构建种群

将 X good t + 1 \mathbf{X}_{\text {good }}^{t+1} Xgoodt+1​和 X bad t + 1 \mathbf{X}_{\text {bad }}^{t+1} Xbadt+1​组成一个新的种群 X t + 1 \mathbf{X}^{t+1} Xt+1。

Step8:种群评价

核算个别的习惯度值,选出最优解 G t \mathbf{G}^{t} Gt,更新当时函数评价次数 T c u r r e n t T_{current} Tcurrent​:
T c u r r e n t = T c u r r e n t + 2 N + 1 (13) T_{current}=T_{current}+2N+1\tag{13} Tcurrent​=Tcurrent​+2N+1(13)

然后执行Step3。

下图为上述进程的流程图。

群体智能优化算法之 分组教学优化算法(Group teaching optimization algorithm,GTOA)