智能优化算法:学生心理学优化算法
摘要:学生心理学优化算法(Student psychology based optimization algorithm,SPBO)是于2020 提出的一种基于学生向往提高成绩的心理提出的新颖智能优化算法。具有收敛速度块,精度高等特点。
1.算法原理
(1)成绩优等学生:在考试中获得最高分的学生被认为是班上最好的学生。最好的学生总是试图通过在班上取得最高分来保持自己的地位。为了获得最高的分数并保持她/他的位置,最好的学生需要在每一门科目上付出比其他学生更多的努力。所以,我们可以理解,最好的学生需要付出比随机选择的学生更多的努力。最好的学生的进步可以通过(1)来表达。
X
b
e
s
t
n
e
w
=
X
b
e
s
t
+
(
−
1
)
k
∗
r
a
n
d
(
X
b
e
s
t
−
X
j
)
(1)
X_{bestnew}=X_{best}+(-1)^k*rand(X_{best}-X_j)\tag{1}
Xbestnew=Xbest+(−1)k∗rand(Xbest−Xj)(1)
式中:
k
k
k随机选择1或2,
r
a
n
d
rand
rand为[0,1]内随机数。
X
b
e
s
t
X_{best}
Xbest最佳和
X
j
X_j
Xj分别是在某一科目中最好的学生和随机选择的第
j
j
j名学生的成绩。
(2)成绩次优学生:如果一个学生对任何一门课都感兴趣,那么他/她就会在那门课上付出越来越多的努力,这样他/她的整体成绩就会得到提高。这类学生可以说,学科聪明的好学生。这类学生的选择是一个随机过程,因为不同学生的心理是不同的。为了在考试中取得最高分而成为最优秀的学生,一些学生试图付出与最优秀学生相似或更好的努力。这类学生可以在(2)的帮助下被表示出来。与此同时,一些学生试图在学习上付出比班上一般学生更多的努力,并试图跟随最好的学生的努力。这类学生可以通过(3)来表达。
X
n
e
w
i
=
X
b
e
s
t
+
r
a
n
d
∗
(
X
b
e
s
t
−
X
i
)
(2)
X_{newi}=X_{best}+rand*(X_{best}-X_i)\tag{2}
Xnewi=Xbest+rand∗(Xbest−Xi)(2)
X n e w i = X i + r a n d ∗ ( X b e s t − X i ) + r a n d ∗ ( X i − X m e a n ) (3) X_{newi}=X_i+rand*(X_{best}-X_i)+rand*(X_i-X_{mean})\tag{3} Xnewi=Xi+rand∗(Xbest−Xi)+rand∗(Xi−Xmean)(3)
式中, X i X_i Xi为该科目第i个学生的成绩/成绩,为 X m e a n X_{mean} Xmean该班级在该科目上的平均成绩, r a n d rand rand为介于0到1之间的随机数。
(3)成绩一般学生:由于学生所付出的努力取决于学生对课程的兴趣,如果学生对某些课程不太感兴趣,学生就会在该课程上付出一般的努力。 在对那门课付出一般的努力的同时,学生们会在其他科目上付出更多的努力,这样他们的整体成绩就会得到提高。 这类学生可以说是学科水平一般的学生。 根据不同的学生心理,这类学生的选择也是一个随机的过程。 这类学生的表现可以用(4)表示。
X
n
e
w
i
=
X
i
+
r
a
n
d
∗
(
X
m
e
a
n
−
X
i
)
(4)
X_{newi}=X_i+rand*(X_{mean}-X_i)\tag{4}
Xnewi=Xi+rand∗(Xmean−Xi)(4)
其中,
X
i
X_i
Xi和
X
m
e
a
n
X_{mean}
Xmean按顺序表示第i个学生的成绩和全班在该学科上的平均成绩,而
r
a
n
d
rand
rand是0到1之间的一个随机数。
(4)随机提高成绩的学生: 除了上述三种类型的学生外,还有一些学生尝试自己提高成绩。他们会根据不同的科目在一定程度上随机地努力学习。这类学生所以对科目尽量随意下功夫在考试中的整体表现有所提高。这类学生可以用(5)。
X
n
e
w
i
=
X
m
i
n
+
r
a
n
∗
(
X
m
a
x
−
X
m
i
n
)
(5)
X_{newi}=X_{min}+ran*(X_{max}-X_{min})\tag{5}
Xnewi=Xmin+ran∗(Xmax−Xmin)(5)
式中,
X
m
i
n
X_{min}
Xmin和
X
m
a
x
X_{max}
Xmax分别为该科目分数的最小值和最大值。
算法流程:
步骤1:初始化种群。
步骤2:计算适应度函数值。
步骤3:根据适应度值进行学生分类,根据式(1)更新优等学生位置。
步骤4:根据公式(2)和(3)更新次优等学生的位置。
步骤5:根据式(4)更新一般学生的位置。
步骤6:根据式(5)随机更新想提高成绩的学生位置。
步骤7:重新评估适应度函数值,并更新全局最优解和最优学生位置。
步骤8:判断是否满足迭代条件,若是则输出全局最优解和最优学生位置,否则返回步骤2重新迭代更新计算。
2.算法结果
3.参考文献
[1]Bikash Das et al. Student psychology based optimization algorithm: A new population based optimization algorithm for solving optimization problems [J]. Advances in Engineering Software, 2020,46, 102804.