智能优化算法:学生心理学优化算法 -附代码

智能优化算法:学生心理学优化算法


摘要:学生心理学优化算法(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)krand(XbestXj)(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(XbestXi)(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(XbestXi)+rand(XiXmean)(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(XmeanXi)(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(XmaxXmin)(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.

4.Matlab代码

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值