【优化算法】加权黑猩猩优化算法(WChOA)(Matlab代码实现)【与ChOA、PSO、WOA、BH、ALO、GA和GWO算法比较】

发布于:2022-11-09 ⋅ 阅读:(834) ⋅ 点赞:(0)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

    ​如今,有相当数量的元启发式算法被用来解决许多变量多、复杂度高的问题。最流行的基于群体智能的元启发式方法之一是黑猩猩优化算法 (ChOA),其灵感来自黑猩猩在群体狩猎中的个体智力和性动机。该文提出了一种加权ChOA(WChOA)替代方案,以解决大规模数值优化问题中出现的两个主要问题,如低收敛速度和求解高维问题的局部最优陷阱。标准 ChOA 和WChOA 之间的主要区别在于,提供了一个位置加权方程来提高收敛速度并避免局部最优。此外,在基于群体智能的算法中,所提出的方法在探索和开发之间取得了平衡。所提出的WChOA方法在不同的条件下进行评估,以证明它是最好的。为此,应用了一组经典的30个单峰、多模态和固定维多模态基准函数来研究WChOA特性的优缺点。此外,WChOA在IEEE进化计算大会基准测试函数(CECC06,2019竞赛)上进行了测试。为了进一步阐明WChOA在大规模数值优化和实际问题中的性能,通过13个高维优化问题和10个真实世界优化问题对WChOA进行了研究。结果表明,与ChOA、PSO、BBO、WOA、BH、ALO、GA、SCA和GWO等文献中最先进的方法相比,WChOA在收敛速度、卡在局部最小值的概率、探索和利用方面表现出色。

📚2 运行结果

 

部分代码

clear all 
clc

SearchAgents_no=30; % Number of search agents
N=SearchAgents_no;
Function_name='F2'; % Name of the test function that can be from F1 to F23 (Table 3,4,5 in the paper)

Max_iteration=500; % Maximum numbef of iterations
Max_iter=Max_iteration;

% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);


[ABest_scoreChimp,ABest_posChimp,Chimp_curve]=WChimp(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[PSO_gBestScore,PSO_gBest,PSO_cg_curve]=PSO(N,Max_iteration,lb,ub,dim,fobj);
[TACPSO_gBestScore,TACPSO_gBest,TACPSO_cg_curve]=TACPSO(N,Max_iteration,lb,ub,dim,fobj);
[MPSO_gBestScore,MPSO_gBest,MPSO_cg_curve]=MPSO(N,Max_iteration,lb,ub,dim,fobj);

% PSO_cg_curve=PSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); % run PSO to compare to results

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 )'])

%Draw objective space
subplot(1,2,2);
semilogy(MPSO_cg_curve,'Color','g')
hold on
semilogy(PSO_cg_curve,'Color','b')
hold on
semilogy(TACPSO_cg_curve,'Color','m')
hold on
semilogy(Chimp_curve,'--r')


title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');

axis tight
grid on
box on
legend('MPSO','PSO','TACPSO','Chimp')

display(['The best optimal value of the objective funciton found by TACPSO is : ', num2str(TACPSO_gBestScore)]);
display(['The best optimal value of the objective funciton found by PSO is : ', num2str(PSO_gBestScore)]);
display(['The best optimal value of the objective funciton found by PSO is : ', num2str(MPSO_gBestScore)]);
display(['The best optimal value of the objective funciton found by Chimp is : ', num2str(ABest_scoreChimp)]);

🎉3 参考文献

 

[1]Khishe, M., et al. “A Weighted Chimp Optimization Algorithm.” IEEE Access, Institute of Electrical and Electronics Engineers (IEEE), 2021, pp. 1–1, doi:10.1109/access.2021.3130933.

🌈4 Matlab代码实现

本文含有隐藏内容,请 开通VIP 后查看