本文已参加「新人创作礼」活动,一起敞开创作之路。
获取更多资讯,从速重视大众号(名称:智能制作与智能调度,大众号:deeprlscheduler)吧!
文章目录
- 第三十二章 分组教育优化算法(Group teaching optimization algorithm,GTOA)
-
- 基本思维
- GTOA结构
-
- 才能分组阶段
- 教师阶段
- 学生阶段
- 教师分配阶段
- GTOA完成
第三十二章 分组教育优化算法(Group teaching optimization algorithm,GTOA)
许多传统的智能优化算法往往需求许多额外的操控参数,而每个参数设置都需求必定的先验常识,或不断测验,一旦这些参数设置的不合适,就会严重影响算法的优化性能。为了处理这样的问题,天津大学的Yiying Zhang于2020年提出了一种新的全局优化算法——分组教育优化算法(Group teaching optimization algorithm,GTOA)。
该算法遭到分组教育机制的启发。分组教育是一种常见的教育模式,能够简述如下:学生首要按照规矩的规矩被分红若干组,然后结合每个小组的特色,教师会运用详细的教育方法来进步小组的常识。
基本思维
在中国历史上,孔子最早提出了”因材施教“的教育理念,就是说教师应该依据不同学生的特色拟定合适他们的教育方法,所以GTOA的思维在于经过仿照分组教育来进步整个班级的常识水平。考虑到学生之间的各种差异,分组教育在实践中实施起来比较复杂。为了使分组教育习惯于作为一种优化技术,我们首要假定种群、决议计划变量和习惯度值别离与学生、提供给学生的课程和学生的常识类似。在此基础上,定义了4条规矩,构建了一个简略且不失一般性的分组教育模型:
- 学生之间的唯一差异在于承受常识的才能,学生承受常识的才能差异越大,教师在拟定教育计划时面对的挑战就越大。
- 一个好的教师往往更重视承受常识才能较差的学生,而不是承受常识才能较强的学生。
- 在课余时间,学生能够经过自学和与其他学生的沟通来取得自己的常识。
- 良好的教师分配机制对进步学生的常识水平十分有帮助。
GTOA结构
GTOA的分组教育模型中存在4个阶段,包含教师分配阶段、才能分组阶段、教师阶段和学生阶段,如下图所示。
才能分组阶段
不失一般性,能够假定整个班级的常识服从正太散布:
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 1e22−(x−u)2(1)
其间 u u u为整个班级的均匀常识水平, \delta 为标准差。一位优异的教师不仅要考虑怎么进步均匀常识 u u u,而且要考虑怎么削减标准差 \delta 。为了为了完成这一方针,教师应该针对其学生拟定合适的教育计划。
上图为两种不同教育方法的散布模型,图(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=N1i=1∑Nxit(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,1tx2,1t⋮xN,1tx1,2tx2,2t⋮xN,2t………x1,Dtx2,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。
下图为上述进程的流程图。