文章目录
- 【`获取资源`请见文章第4节:资源获取】
- 1. 学生心理学优化算法(SPBO)
- 1.1 最好的学生
- 1.2 次好的学生
- 1.3 一般的学生
- 1.4 随机提高成绩的学生
- 2. 部分代码展示
- 3. 仿真结果展示
- 4. 资源获取说明
【获取资源
请见文章第4节:资源获取】
1. 学生心理学优化算法(SPBO)
学生心理学优化算法(Student psychology based optimization algorithm,SPBO)是2020年提出的一种新的元启发式优化算法,SPBO是基于学生的心理提出的一种算法。这些学生试图付出更多的努力来提高他们在考试中的表现,以达到成为班上最好的学生的水平。算法将班上的学生分为四类:最好的学生、次好的学生、一般的学生、随机提高成绩的学生。
1.1 最好的学生
最好的学生为了保持自己的好成绩,需要付出比随机选择的学生更多的努力。为了描述最好的学生的进步,其算法公式可以描述为:
1.2 次好的学生
次好的学生试图在学习上付出比班上一般学生更多的努力,并试图跟随最好的学生的努力。其学习过程可以被以下公式描述:
1.3 一般的学生
这类学生可以说是学科水平一般的学生。 根据不同的学生心理,这类学生的选择也是一个随机的过程。 这类学生的表现可以被描述为:
1.4 随机提高成绩的学生
除了上述三种类型的学生外,还有一些学生尝试自己提高成绩。他们会根据不同的科目在一定程度上随机地努力学习。这类学生的表现可以描述为:
2. 部分代码展示
close all
clear
clc
SearchAgents_no=30; % 种群数量
Function_name='F1'; % 测试函数
Max_iteration=500; % 最大迭代次数
M=5; %科目数
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_pos,Best_score,curve] = SPBO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,M);
figure('Position',[500 500 660 290])
% Draw search space
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
3. 仿真结果展示
4. 资源获取说明
可以获取完整代码资源。👇👇👇👀名片