当前位置 : 主页 > 编程语言 > python >

【学生心理学优化算法】基于学生心理学优化算法求解单目标优化问题(SPBO)

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 学生心理学优化算法(Student psychology based optimization algorithm,SPBO)是于2020 提出的一种基于学生向往提高成绩的心理提出的新颖智能优化算法。 In thisarticle, a new metaheuristic optimi

1 简介

学生心理学优化算法(Student psychology based optimization algorithm,SPBO)是于2020 提出的一种基于学生向往提高成绩的心理提出的新颖智能优化算法。

In this article, a new metaheuristic optimization algorithm (named as, student psychology based optimization(SPBO)) is proposed. The proposed SPBO algorithm is based on the psychology of the students who are trying togive more effort to improve their performance in the examination up to the level for becoming the best student inthe class. Performance of the proposed SPBO is analyzed while applying the algorithm to solve thirteen 50dimensional benchmark functions as well as fifteen CEC 2015 benchmark problems. Results of the SPBO iscompared to the performance of ten other state-of-the-art optimization algorithms such as particle swarm optimization, teaching learning based optimization, cuckoo search algorithm, symbiotic organism search, covariantmatrix adaptation with evolution strategy, success-history based adaptive differential evolution, grey wolf optimization, butterfly optimization algorithm, poor and rich optimization algorithm, and barnacles mating optimizer. For fair analysis, performances of all these algorithms are analyzed based on the optimum results obtained as well as based on convergence mobility of the objective function. Pairwise and multiple comparisons areperformed to analyze the statistical performance of the proposed method. From this study, it may be establishedthat the proposed SPBO works very well in all the studied test cases and it is able to obtain an optimum solutionwith faster convergence mobility.

【学生心理学优化算法】基于学生心理学优化算法求解单目标优化问题(SPBO)含Matlab源码_优化算法

2 部分代码

% Student psychology based optimization (SPBO)algorithm
%
%
%
%
% Main paper:
% Bikash Das, V Mukherjee, Debapriya Das, Student psychology based optimization algorithm: A new population based
% optimization algorithm for solving optimization problems, Advances in Engineering Software, 146 (2020) 102804.
%_______________________________________________________________________________________________
% You can simply define your objective function in a seperate file and load its handle to fobj
% The initial parameters that you need are:
%__________________________________________
% fobj = @Objective function
% variable = number of your variables
% Max_iteration = maximum number of iterations
% student = number of search agents
% mini=[mini1,mini2,...,minin] where mini is the lower bound of variable n
% maxi=[maxi1,maxi2,...,maxin] where maxi is the upper bound of variable n
% If all the variables have equal lower bound you can just
% define mini and maxi as two single numbers
% To run SPBO: [Best_fitness,Best_student,Convergence_curve]=SPBO(student,Max_iteration,mini,maxi,variable,fobj)
%______________________________________________________________________________________________
clear all
clc
student=20; % Number of student (population)
Function_name='F2'; % Name of the test function that can be from F1 to F23
Max_iteration=1000; % Maximum number of iterations
% Load details of the selected benchmark function
[mini,maxi,variable,fobj]=Functions(Function_name);
%Solution obtained using SPBO
[Best_fitness,Best_student,Convergence_curve]=SPBO(student,Max_iteration,maxi,mini,variable,fobj);
% Converging Curve
figure('Position',[269 240 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 )'])
%Draw objective space
subplot(1,2,2);
semilogy(Convergence_curve,'Color','r','linewidth',2.5);
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
legend('SPBO');
axis tight
grid on
box on

3 仿真结果

【学生心理学优化算法】基于学生心理学优化算法求解单目标优化问题(SPBO)含Matlab源码_参考文献_02

【学生心理学优化算法】基于学生心理学优化算法求解单目标优化问题(SPBO)含Matlab源码_优化算法_03

4 参考文献

[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.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【学生心理学优化算法】基于学生心理学优化算法求解单目标优化问题(SPBO)含Matlab源码_优化算法_04



上一篇:Matlab模拟布朗运动
下一篇:没有了
网友评论