【群智能算法改进】基于二次插值策略的改进白鲸优化算法 改进后的EBWO[3]算法【Matlab代码#44】

news2024/9/25 15:29:50

文章目录

    • 【`获取资源`请见文章第5节:资源获取】
    • 1. 原始BWO算法
    • 2. 基于二次插值策略的EBWO算法
    • 3. 部分代码展示
    • 4. 仿真结果展示
    • 5. 资源获取


获取资源请见文章第5节:资源获取】


1. 原始BWO算法

白鲸优化算法 (BWO,beluga whale optimization) 是2022 年在白鲸游泳、捕鲸及跌倒等行为中得到启发而提出的一种新型基于种群的元启发式算法。BWO 主要对白鲸游泳、捕食及跌倒 (坠落) 等行为进行模拟,其对应探索、开发及鲸鱼坠落三个阶段。BWO 当中鲸落概率与平衡因子均为自适应的,对开发能力与控制搜索起到决定性作用。除此之外,在开发阶段引入 Levy 飞行策略来进一步提升该阶段的全局收敛性。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 基于二次插值策略的EBWO算法

所谓二次插值法,是通过二次函数去模拟我们所得到的的单峰函数,用这个二次函数的极小点作为原来函数的极小点,如果这个极小点的横坐标已经满足了精度的要求,就停止运算。二次插值策略运用到群智能算法中时,对于单峰函数有较好的效果,对于多峰函数则效果一般。

二次插值法运用到白鲸优化算法中的公式如下:
在这里插入图片描述
其中, X b e s t t X_{best}^{t} Xbestt是第 t t t次迭代的最优解, X r r t X_{rr}^{t} Xrrt X r l t X_{rl}^{t} Xrlt是第 t t t次迭代的随机选择的两个解, e p s eps eps是一个极小值。

3. 部分代码展示

clear;
close all;
clc;

Function_name = 'F3'; % 测试函数名
Npop = 30;      % 种群个数
Max_it = 500;  % 最大迭代次数
[lb,ub,nD,fobj]=Get_Functions_details(Function_name);
[xposbest_BWO,fvalbest_BWO,Curve_BWO]=BWO(Npop,Max_it,lb,ub,nD,fobj); % 白鲸优化算法 
[fvalbest_GWO,xposbest_GWO,Curve_GWO]=GWO(Npop,Max_it,lb,ub,nD,fobj); % 灰狼优化算法
[fvalbest_WOA,xposbest_WOA,Curve_WOA]=WOA(Npop,Max_it,lb,ub,nD,fobj); % 鲸鱼优化算法
[fvalbest_SSA,xposbest_SSA,Curve_SSA]=SSA(Npop,Max_it,lb,ub,nD,fobj); % 麻雀搜索算法
[xposbest_EBWO,fvalbest_EBWO,Curve_EBWO]=EBWO(Npop,Max_it,lb,ub,nD,fobj); % 改进白鲸优化算法


figure('Position',[454   445   694   297]);
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])


subplot(1,2,2);
% 灰狼优化算法
semilogy(Curve_GWO,'Color','b','LineWidth',2)
hold on
% 鲸鱼优化算法
semilogy(Curve_WOA,'Color','g','LineWidth',2)
hold on
% 麻雀搜索算法
semilogy(Curve_SSA,'Color','m','LineWidth',2)
hold on
% 白鲸优化算法
semilogy(Curve_BWO,'Color','k','LineWidth',2)
hold on
% 改进白鲸优化算法
semilogy(Curve_EBWO,'Color','r','LineWidth',2)
title(Function_name)
xlabel('Iteration');
ylabel('Best fitness function');
axis tight
legend('GWO','WOA','SSA','BWO','EBWO')

display(['The best optimal values of the objective funciton found by GWO is : ', num2str(fvalbest_GWO)]);
display(['The best optimal values of the objective funciton found by WOA is : ', num2str(fvalbest_WOA)]);
display(['The best optimal values of the objective funciton found by SSA is : ', num2str(fvalbest_WOA)]);
display(['The best optimal values of the objective funciton found by BWO is : ', num2str(fvalbest_BWO)]);
display(['The best optimal values of the objective funciton found by EBWO is : ', num2str(fvalbest_EBWO)]);

4. 仿真结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 资源获取

可以获取完整代码资源。

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

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

相关文章

宝塔SSL续签以及申请报CURL(7)与CURL(28)错误解决方案

说一下具体背景以及遇到的问题: 主要是网站的SSL过期以后,点击宝塔里的续签功能,弹出一个黑框,等超时后报以下错误 其中也尝试过很多方法,都没什么用,当然,如果报错信息不是这类情况&#xff…

3D开发工具HOOPS可构建PLM程序,数据共享更便捷

产品生命周期管理 (PLM) 解决方案实际上都是将制造生产系统粘合在一起的粘合剂,提供从头到尾的数字主线并为最终用户优化流程。 Tech Soft 3D不是构建 PLM 应用程序的专家,但却对构建领先应用程序所基于的组件技术,以及 SDK 如何提供必要的核…

MiniGPT-4原理解读——大模型论文阅读笔记三

论文:https://arxiv.org/pdf/2304.10592v1.pdf 代码:https://github.com/vision-cair/minigpt-4 一. 作者动机 GPT-4展示了非凡的多模态能力,比如直接从手写文本生成网站,以及识别图像中的幽默元素。这些特性在以前的视觉语言模…

Scrum敏捷看板工具在项目管理中的作用

Scrum是迭代式增量软件开发过程,是敏捷方法论中的重要框架之一,通常用于敏捷软件开发。 当开发团队在用 Scrum 这种开发方法开发项目时,可以利用敏捷看板,可视化透明且灵活的高效的完成工作。 使用敏捷看板可以使: …

ChatGPT批量生成文章软件:创意无限,助力高效创作

随着人工智能技术的不断发展,ChatGPT批量生成文章软件成为了一种强大的创作工具。这款软件以其无限创意和高效助力,极大地提升了文章创作的效率。在本文中,我们将从多个方面详细阐述ChatGPT软件的特点和优势。 一、智能创作能力 ChatGPT软件…

2023年5月青少年机器人技术等级考试理论综合试卷(一级)

青少年机器人技术等级考试理论综合试卷(一级)2023.6 分数: 100 题数: 45 一、 单选题(共 30 题, 共 60 分) 1.机器人的电源相当于人类的? ( ) A.大脑 B.皮肤 C.血管 D.心脏 标准答案…

赛效:如何将PDF文件转成图片

1:打开PDF文件,登录账号之后,点击“文档转换”里的“PDF转图片”。 2:在转换页面,点击“上传文件”,将电脑本地的PDF文件添加到页面上去。 3:在右侧图片分辨率下拉菜单里,选择自己需…

Vue3学习(三)前后端数据交互

一、前后端分离 IDEA软件、JDK1.8、Mysql5.7、Navicat、SpringBoot2.x pom配置阿里云仓库 <repositories><repository><id>nexus-aliyun</id><name>nexus-aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/…

JavaWeb网络安全-弱口令自查

1.背景 项目中&#xff0c;创建用户没有校验密码强度&#xff0c;弱口令会导致一系列安全问题。然而用户表数据加密加盐&#xff0c;我们无法直接知道哪些用户使用了弱口令。 网络安全的首要步骤是检查系统中的弱口令。一旦网络攻击者获取了我们的弱口令并成功登录系统&#x…

利用MAP函数计算一系类数字的平方

1 问题 如何使用map函数计算一系列数字平方。 2 方法 通过使用定义函数&#xff08;add&#xff09;&#xff0c;创建一个list&#xff0c;包含这一系列数字&#xff0c;再使用map函数。 通过实验、实践等证明提出的方法是有效的&#xff0c;是能够解决开头提出的问题。 代码清…

linux更改 docker 为非 root 用户运行

首先创建docker用户组&#xff0c;如果docker用户组存在可以忽略 sudo groupadd docker把用户添加进docker组中 sudo gpasswd -a ${user} docker使用普通账户重启docker sudo service docker restart使用root用户修改/var/run/docker.sock权限 sudo chmod arw /var/run/doc…

【Flink】Flink 中的时间和窗口之水位线(Watermark)

1. 时间语义 这里先介绍一下什么是时间语义&#xff0c;时间语义在Flink中是一种很重要的概念&#xff0c;下面介绍的水位线就是基于时间语义来讲的。 在Flink中我们提到的时间语义一般指的是事件时间和处理时间&#xff1a; 处理时间(Processing Time)&#xff0c;一般指执…

git介绍和安装/git,github,gitee,gitlab区别/git使用流程/ git常用命令/git忽略文件

git介绍和安装 # 版本管理软件-1 对代码版本进行管理---》首页功能完成---》课程功能完成---》可以回退到某个版本-2 协同开发--》多人开发--》合并代码---》可能会有冲突&#xff0c;解决冲突# 版本管理软件&#xff1a;主流就两个-git&#xff1a;现在用的最多&#xff08;学…

100天精通Golang(基础入门篇)——第10天:Go语言中的数组

&#x1f337; 博主 libin9iOak带您 Go to Golang Language.✨ &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &#x1f30a; 《I…

python与adb无缝衔接控制手机(手机截屏实例)

目录 连接 常用操作 截图到PC端 使用pure-python-adb库可以实现python控制手机&#xff0c;支持input输入&#xff0c;支持shell命令&#xff0c;支持pull/push上传下载文件等。 安装库&#xff1a;pip install pure-python-adb 电脑端需要安装adb程序&#xff0c;在命令行…

技术管理第二板斧建团队-建机制

1.机制作用&#xff1f; 站在团队的角度&#xff0c;建机制尤为重要&#xff0c;你要通过机制让团队有统一的行为与规则&#xff0c;让组织像人一样&#xff0c;言行举止有规律可循。 听起来很容易&#xff0c;可要设计一个有效、持续发挥作用的机制并不简单。你不但清晰地认识…

10 Debug功能及方法简述

常见的Debug方法 原文链接&#xff1a;MDK5 Debug调试方法总结_keil5debug调试_小z不会累&#xff5e;的博客-CSDN博客 连接好硬件DAP之后&#xff0c;需要进行一些设置 开始仿真调试 Debug调试按钮分别对应的功能 按钮1->reset复位按钮按钮2->run按钮&#xff0c;程序运…

Keil V5版本开发STM32缺少PACKDFP解决办法 (Error Flash Downloadfailed-“Cortex-M7)

Keil V5版本开发STM32缺少PACKDFP解决办法 Error Flash Downloadfailed-“Cortex-M7 这个网址里有各个固件包的最新版&#xff0c;下载速度快&#xff0c;滋溜一下就下好啦 固件包

CISP-PTE-考前综合题记录

CISP-PTE-考前综合题记录 http://10.1.10.71/&#xff08;文件上传传不上去&#xff09; 获取key6 端口扫描只扫到80端口开放 输入用户名密码&#xff0c;抓包 对Authorization Basic的值进行base64解码&#xff0c;为爆破做准备 猜测用户名为admin,所有留下admin:这一段…

设计模式第15讲——模板模式(Template)

目录 一、什么是模板模式 二、角色组成 三、优缺点 四、应用场景 4.1 生活场景 4.2 java场景 五、代码实现 5.0 代码结构 5.1 OrderFood——抽象类&#xff08;Abstract&#xff09; 5.2 具体类&#xff08;Concrete Class&#xff09; 5.3 testTemplate 六、总结…