加权黑猩猩优化算法(WChOA)附Matlab代码

news2024/12/23 17:42:40

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

式方法之一是黑猩猩优化算法 (ChOA),其灵感来自黑猩猩在群体狩猎中的个体智力和性动机。本文提出了一种加权ChOA(WChOA)替代方案,以解决大规模数值优化问题中出现的两个主要问题,例如低收敛速度和在解决高维问题时陷入局部最优。标准 ChOA 和 WChOA 之间的主要区别在于提供了位置加权方程以增强收敛性速度并避免局部最优。此外,探索和利用之间的平衡在所提出的方法中进行,这在基于群体智能的算法中至关重要。所提出的 WChOA 方法在不同的条件下进行评估,以证明它是最好的。为此,应用了一组经典单峰、多峰和固定维度多峰基准函数来研究 WChOA 特征的优缺点。此外,WChOA 在 IEEE Congress of Evolutionary Computation 基准测试功能(CECC06, 2019 Competition)上进行了测试。更深入地探讨WChOA 在大规模数值优化和现实世界中的性能问题,WChOA 由 13 个高维和 10 个实际优化问题进行检查。结果表明,与文献中的最新方法(如 ChOA、PSO 、BBO、WOA、 BH、ALO、GA、SCA 和 GWO。

⛄ 部分代码

%__________________________________________

% fobj = @YourCostFunction

% dim = 变量数

% Max_iteration = 最大代数

% SearchAgents_no = 搜索代理的数量

% lb=[lb1,lb2,...,lbn] 其中 lbn 是变量 n 的下限

% ub=[ub1,ub2,...,ubn] 其中 ubn 是变量 n 的上限

% 如果所有变量的下限相等,你可以

% 定义 lb 和 ub 为两个单数

%

%__________________________________________

清除所有 

clc

SearchAgents_no=30; % 搜索代理数量

N=SearchAgents_no;

函数名='F14'; % 测试函数名称,可以从F1到F23(论文中的表3,4,5)

最大迭代=500;% 最大迭代次数

Max_iter=Max_iteration;

% 加载所选基准函数的详细信息

[lb,ub,dim,fobj]=Get_Functions_details(Function_name);

[ABest_scoreChimp,ABest_posChimp,Chimp_curve]=Chimp(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);

[WABest_scoreChimp,WABest_posChimp,WCimp_curve]=WCimp(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','y')

hold on

semilogy(Chimp_curve,'--r')

hold on

semilogy(WChimp_curve,'r')

title('Objective space')

xlabel('Iteration');

ylabel('Best score obtained so far');

axis tight

grid on

box on

legend('MPSO','PSO','TACPSO','Chimp','WChimp')

img =gcf;  %获取当前画图的句柄

print(img, '-dpng', '-r600', './img.png')         %即可得到对应格式和期望dpi的图像

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

display(['The best optimal value of the objective funciton found by WChimp is : ', num2str(WABest_scoreChimp)]);

⛄ 运行结果

⛄ 参考文献

Khishe, M. 和 MR Mosavi。“黑猩猩优化算法。” 具有应用程序的专家系统,第一卷。149,Elsevier BV,2020 年 7 月,第 113338,doi:10.1016/j.eswa.2020.113338。

❤️ 关注我领取海量matlab电子书和数学建模资料

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/5127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java实现五子棋(附源码)

文章目录一、游戏介绍二、效果展示三、代码展示1、登录页面2、算法程序3、棋盘实现四、资源下载五、文末总结一、游戏介绍 今天给大家分享一个用java写的小游戏——《五子棋》 (完整代码可在【资源下载】目录查看) 。五子棋是一种两人对弈的纯策略型棋类…

中缀表达式转后缀表达式

1 后缀表达式 一种不需要括号的表达式方法,也把它称为 逆波兰表达式,是波兰逻辑学家卢卡西维奇(Lukasiewicz)发明的一种表示表达式的方法。 2 中缀表达式 中缀表达式也就是我们常见的表达式书写方法,比如“8(2-1)352”就是一个中…

HTML期末大作业——游戏介绍(HTML+CSS+JavaScript) web前端开发技术 web课程设计网页规划与设计 Web大学生网页成品

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

前端爱心代码跟个风

光棍节new一个对象发给Ta <!DOCTYPE html> <html><head><title></title> </head> <style>* {padding: 0;margin: 0;}html,body {height: 100%;padding: 0;margin: 0;background: rgb(2, 2, 2);}canvas {position: absolute;width: …

关于 SAP 电商云 Spartacus UI Navigation Service 执行的一些明细

第一次触发的时候&#xff0c;navigation.uid 并没有值&#xff1a; 下图&#xff1a;navigation.service 的 getNavigationNode 方法。 触发这个订阅的入口&#xff1a; <cx-navigation-ui*ngIf"data$ | async as data"[node]"node$ | async"[ngC…

【HTML实战】把爱心代码放在自己的网站上是一种什么体验?

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【HTML】 最近随着电视剧《点燃我温暖你》的火热播出&#xff0c;剧中帅气学霸李洵的炫酷爱心代码也迅速火出了圈&#xf…

【毕业设计】口罩佩戴检测系统 - opencv 卷积神经网络 机器视觉 深度学习

文章目录&#x1f6a9; 0 简介&#x1f6a9;1 课题背景&#x1f6a9; 2 口罩佩戴算法实现2.1 YOLO 模型概览2.2 YOLOv32.3 YOLO 口罩佩戴检测实现2.4 实现代码2.5 检测效果&#x1f6a9; 3 口罩佩戴检测算法评价指标3.1 准确率&#xff08;Accuracy&#xff09;3.2 精确率(Prec…

Golang学习之路5-结构体/类封装等使用

文章目录前言一、结构体1.声明结构体2.匿名结构体二、类1.封装及绑定2.继承3.多态及接口4.类访问权限总结前言 go语言支持类的操作&#xff0c;但是没有class关键字&#xff0c;使用struct来模拟类、结构体。类支持封装、绑定方法、继承等 一、结构体 结构体是由零个或多个任…

【C++进阶】map和set( 万字详解)—— 上篇

&#x1f387;C学习历程&#xff1a;进阶 博客主页&#xff1a;一起去看日落吗持续分享博主的C学习历程博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 也许你现在做的事情&#xff0c;暂时看不到成果&#xff0c;但不要忘记&…

青少年python系列 42.面向对象-继承

青少年python系列目录_老程序员115的博客-CSDN博客 青少年python教学视频ppt源码 继承&#xff1f;继承啥&#xff1f;提起继承这两个字&#xff0c;最先能够联想到的应该就是子继父业这个成语。还记得之前在我们的课程中提及过&#xff0c;在面向对象编程时&#xff0c;是可以…

【Linux】关于进程的理解、状态、优先级和进程切换

文章目录&#x1f4dd;一、操作系统进程1.运行队列2.运行状态&#x1f4dd;二、Linux进程状态&#x1f4dd;三、两个特殊进程1.僵尸进程2.孤儿进程&#x1f4dd;四、进程优先级1.优先级概念2.查看系统进程3.PRI和NI4.top命令更改nice5.特性&#x1f4dd;五、进程切换1.并发2.进…

软件工程方法论

&#x1f430;作者简介&#xff1a;一位普通高校的在校学生&#xff0c;致力于提高自己的编程能力。 &#x1f34c;个人主页&#xff1a;比昨天强一點的博客_CSDN博客-C语言从0到精通领域博主 &#x1f34d;系列专栏&#xff1a;C语言从0到精通_比昨天强一點的博客-CSDN博客 &a…

真良心干货保姆级手把手教你Python网络编程,学不会我去你家教你

Python网络编程基本概念(计算机网络基础)IP地址与端口IP地址端口网络通信协议网络通信协议网络协议的分层TCP/UDP套接字编程socket()函数介绍UDP 编程实现UDP发送数据实现UDP先发送数据再接收数据实现UDP实现多线程聊天TFTP文件下载器基本概念下载的过程python内置模块structTC…

C/C++ Qt 标准Dialog对话框组件应用

在Qt中对话框分为两种形式&#xff0c;一种是标准对话框&#xff0c;另一种则是自定义对话框&#xff0c;在一般开发过程中标准对话框使用是最多的了&#xff0c;标准对话框一般包括 QMessageBox,QInputDialog,QFileDialog 这几种&#xff0c;这里我将总结本人在开发过程中常用…

蓝桥杯——2022年11月第十四届蓝桥杯模拟赛第一期Java

1、二进制位数 问题描述 十进制整数 2 在十进制中是 1 位数&#xff0c;在二进制中对应 10 &#xff0c;是 2 位数。 十进制整数 22 在十进制中是 2 位数&#xff0c;在二进制中对应 10110 &#xff0c;是 5 位数。 请问十进制整数 2022 在二进制中是几位数&#xff1f; 答案…

C++学习之旅 第二章 printf与cout

目录 1.printf简介 2.printf的四种用法 2.1 printf("字符串"); 2.2 printf("输出控制符",输出参数); 2.3 printf("输出控制符1 输出控制符2 ,,,,,,,, ", 输出参数1&#xff0c; 输出参数2&#xff0c;....... ); 2.4 printf("输出控制…

化妆品展示网页设计作业 静态HTML化妆品网站 DW美妆网站模板下载 大学生简单网页作品代码 个人网页制作 学生个人网页设计作业

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

C++11【智能指针详解】

智能指针&#x1f3de;️1. 为什么引入智能指针&#xff1f;&#x1f301;2. 智能指针的使用及原理&#x1f4d6;2.1 RAII思想&#x1f4d6;2.2 智能指针的原理&#x1f320;3. 常见智能指针&#x1f4d6;3.1 auto_ptr&#x1f4d6;3.2 unique_ptr&#x1f4d6;3.3 shared_ptr&…

基于深度学习的宋词生成

《自然语言处理》课程报告 摘 要 宋词是一种相对于古体诗的新体诗歌之一&#xff0c;为宋代儒客文人智慧精华&#xff0c;标志宋代文学的最高成就。宋词生成属于自然语言处理领域的文本生成模块&#xff0c;当前文本生成领域主要包括基于语言模型的自然语言生成和使用深度学习…

RK3568平台开发系列讲解(安卓适配篇)Android 源码的 device 目录

🚀返回专栏总目录 文章目录 一、device 目录简介二、Android 产品配置各种变量沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 Android 源码的 device 目录。 一、device 目录简介 Android 源码下的 device 目录是 Android 源码中对产品的描述文件夹,各…