
⛄一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【单目标优化求解】基于matlab人类优化学习算法求解单目标优化问题【含Matlab源码 3875期】
点击上面蓝色字体,直接付费下载,即可。
获取代码方式2:
付费专栏Matlab优化求解(初级版)
备注:
点击上面蓝色字体付费专栏Matlab优化求解(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab优化求解(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码
⛄二、人类学习优化(HLO)简介
人类学习优化(HLO)是一种基于简化人类学习模型开发的简单而高效的元启发式算法。该算法收敛速度快,全局寻优能力强不易陷入局部最优等优点,且设置参数少、算法简单易实现,已在多个应用问题上表现良好的性能。HLO算法中的每个个体可以通过3个学习算子即随机学习算子、个体学习算子和社会学习算子来模拟人类的3种学习行为进行寻优。
1 初始化
其中,xi表示第i个个体,N是人口的大小,M是解的维数。二进制字符串的每一位都随机初始化为“0”或“1”,这表示人们想要学习和掌握的知识或技能的基本元素。
2 学习阶段
2.1 随机学习算子
在学习开始时,人们通常随机学习,因为没有问题的先验知识。在接下来的研究中,由于遗忘,仅知道问题和其他因素的部分知识,个体无法完全复制之前的经验,因此他们仍然以一定的随机性学习。为了模拟人类学习中的这些随机现象,为SHLO开发了简化的随机学习算子。
2.2 个体学习算子
个人学习被定义为通过对外部刺激和来源的个人反思建立知识的能力。在学习过程中,人们利用自己的经验和知识来避免错误和提高绩效是非常普遍的。为了模拟SHLO中人类的个人学习,使用个人知识数据库(IKD)存储个人最佳经验。
2.3 社会学习算子
通过个人学习,如果问题复杂,学习过程可能非常缓慢和低效。在社会环境中,人们可以通过社会学习从集体经验中学习,以进一步发展自己的能力。在这种情况下,人们直接或间接地转移知识和技能,因此,经验分享将提高学习的效率和有效性。为了模拟这种有效的学习策略,使用社会知识数据(SKD)来保留人群的知识。
⛄三、部分源代码
clear all
clc
close all
SearchAgents_no=60; % Number of search agents
Function_name=‘F2’; % Name of the test function that can be from F1 to F23 Appendix A in the paper
Max_iteration=200; % Maximum numbef of iterations
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details_cec2005(Function_name);
[Best_score,Best_pos,SHLO_cg_curve]=SHLO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[Best_score_SHLPSO,Best_pos_SHLPSO,SHLPSO_cg_curve]=SHLPSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[Best_score_ASHLOPSP,Best_pos_ASHLOPSO,ASHLOPSO_cg_curve]=ASHLOPSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
% [Best_score_AHA,Best_pos_AHA,AHA_cg_curve]=AHA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
% [Best_score_GWO,Best_pos_GWO,GWO_cg_curve]=GWO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
% [gBestScore,gBest,cg_curve]=PSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
%
figure(‘Position’,[500 500 660 290])
%Draw search space
subplot(1,2,1);
func_plot_cec2005(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(SHLO_cg_curve,‘Color’,‘b’)
hold on
% semilogy(GWO_cg_curve,‘Color’,‘c’)
% hold on
semilogy(SHLPSO_cg_curve,‘Color’,‘r’)
hold on
semilogy(ASHLOPSO_cg_curve,‘Color’,‘g’)
hold on
% semilogy(cg_curve,‘Color’,‘y’)
% hold on
% semilogy(AHA_cg_curve,‘Color’,‘k’)
title(‘Objective space’)
xlabel(‘Iteration’);
ylabel(‘Best score obtained so far’);
axis tight
grid on
box on
legend(‘SHLO’,‘SHLPSO’,‘ASHLOPSO’ )
display(['The best solution obtained by SHLO is : ', num2str(Best_pos)]);
display(['The best optimal value of the objective funciton found by SHLO is : ', num2str(Best_score)]);
display(['The best solution obtained by SHLPSO is : ', num2str(Best_pos_SHLPSO)]);
display(['The best optimal value of the objective funciton found by SHLPSO is : ', num2str(Best_score_SHLPSO)]);
display(['The best solution obtained by ASHLOPSO is : ', num2str(Best_pos_ASHLOPSO)]);
display(['The best optimal value of the objective funciton found by ASHLOPSO is : ', num2str(Best_score_ASHLOPSP)]);
⛄四、运行结果


⛄五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]黄辉先,张广炎,陈思溢,胡拚.基于混沌权重和精英引导的鲸鱼优化算法[J].传感器与微系统,2020,39(05):113-116.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
4万+

被折叠的 条评论
为什么被折叠?



