一种多策略改进黑翅鸢智能优化算法IBKA(2024年新出优化算法)种群初始化精英反向+透镜成像反向学习+黄金正弦变异策略

news2024/9/8 23:37:08

一种多策略改进黑翅鸢智能优化算法IBKA(2024年新出优化算法) 种群初始化精英反向策略+透镜成像反向学习策略+黄金正弦变异策略

文章目录

  • 前言
    • 一种多策略改进黑翅鸢智能优化算法IBKA(2024年新出优化算法) 种群初始化精英反向策略+透镜成像反向学习策略+黄金正弦变异策略
  • 一、黑翅鸢BKA算法基本原理
  • 二、改进黑翅鸢优化IBKA
    • 改进1:种群初始化精英反向策略
    • 改进2:非线性下降因子
    • 改进3:黄金正弦变异策略
    • 程序内容
  • 三、实验结果
    • 主函数程序
  • 获取
  • 总结


前言

一种多策略改进黑翅鸢智能优化算法IBKA(2024年新出优化算法) 种群初始化精英反向策略+透镜成像反向学习策略+黄金正弦变异策略

在这里插入图片描述

一、黑翅鸢BKA算法基本原理

BKA算法的详细原理和对应公式如下:

黑翅鸢(Black Kite)优化算法(BKA)是一种基于鸟类捕食行为启发的群体智能算法。其基本原理如下:

  1. 种群初始化:初始时,随机生成一定数量的个体作为初始种群。

  2. 捕食行为模拟:模拟黑翅鸢的捕食行为,即通过观察和调整飞行路径来捕捉猎物。在算法中,个体代表潜在解决方案,而解决方案的质量则决定了其在搜索空间中的适应度。

  3. 飞行和调整:每个个体在搜索空间中飞行,尝试找到更好的解决方案。这可以通过随机移动或根据某种策略进行调整来实现。

  4. 信息交流:个体之间可能通过某种方式进行信息共享,以增加全局搜索的效率,模拟鸟群中的信息传递行为。

  5. 适应度评估:根据问题的具体评价函数,计算每个个体的适应度,以确定其在解空间中的优劣。

  6. 迭代优化:通过多次迭代,在搜索空间中逐步优化个体,直到达到满意的解决方案或达到预设的迭代次数。

黑翅鸢优化算法通常用于解决复杂的优化问题,其灵感来源于自然界中鸟类的捕食行为,通过模拟鸟类的智能搜索和适应能力来进行全局优化搜索。

二、改进黑翅鸢优化IBKA

改进1:种群初始化精英反向策略

在这里插入图片描述

function Positions=initializationNew(SearchAgents_no,dim,ub,lb,fun)
Boundary_no= size(ub,2); % numnber of boundaries
BackPositions = zeros(SearchAgents_no,dim);
% If each variable has a different lb and ub
if Boundary_no>1
    for i=1:dim
        ub_i=ub(i);
        lb_i=lb(i);
        PositionsF(:,i)=rand(SearchAgents_no,1).*(ub_i-lb_i)+lb_i;
         %求取反向种群
        BackPositions(:,i) =  (ub_i+lb_i) - PositionsF(:,i);
    end
end
%获取精英种群
index = zeros(size(PositionsF,1));
for i = 1:size(PositionsF,1)
   if(fun(PositionsF(i,:))<fun(BackPositions(i,:)))%原始解比反向解更好,即为精英解
       index(i) = 1;
   else%反向解更好的付给原始解
       PositionsF(i,:) = BackPositions(i,:);
   end
end
XJY = PositionsF(index == 1,:);
end

改进2:非线性下降因子

在这里插入图片描述

    for i=1:pop
        %% LOBL strategy

        k=(1+(t/T)^0.5)^10;
        XPosNew(i,:) = (ub+lb)/2+(ub+lb)/(2*k)-XPos(i,:)/k;
    end

改进3:黄金正弦变异策略

在这里插入图片描述

        %% ★★改进3:黄金正弦变异
            r=rand;
            r1=(2*pi)*r;
            r2=r*pi;
            for vv = 1:dim % in j-th dimension
                temp(j,vv) = X(j,vv)*abs(sin(r1)) - r2*sin(r1)*abs(x1*Best_pos(1,vv)-x2*X(1,vv));   %黄金正弦计算公式
            end
            Flag4ub=temp(j,:)>ub;
            Flag4lb=temp(j,:)<lb;
            temp(j,:)=(temp(j,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;  
            if fobj(temp(j,:)) < fobj(X(j, :))
                X(j, :) = temp(j,:);
            end

程序内容

在这里插入图片描述

三、实验结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

主函数程序


%%  参数设置
SearchAgents = 30;                         % population members 
Max_iterations = 500;                      % maximum number of iteration
number = 'F23';                            % 选定优化函数,自行替换:F1~F23
[lb,ub,dim,fobj] = CEC2005(number);        % [lb,ub,D,y]:下界、上界、维度、目标函数表达式

%% 循环实验
for i = 1:1
%% IBKA
[IBKA_Best_score,IBKA_Best_pos,IBKA_cg_curve]=IBKA(SearchAgents,Max_iterations,lb,ub,dim,fobj); 
IBKA_fitness(i) = IBKA_Best_score;
%% BKA
[BKA_Best_score,BKA_Best_pos,BKA_cg_curve]=BKA(SearchAgents,Max_iterations,lb,ub,dim,fobj);
BKA_fitness(i)= BKA_Best_score;
end

获取

私信即可

总结

利用该优化算法对机器学习和深度学习进行优化
先用就是创新
包括但不限于
优化BP神经网络,深度神经网络DNN,极限学习机ELM,鲁棒极限学习机RELM,核极限学习机KELM,混合核极限学习机HKELM,支持向量机SVR,相关向量机RVM,最小二乘回归PLS,最小二乘支持向量机LSSVM,LightGBM,Xgboost,RBF径向基神经网络,概率神经网络PNN,GRNN,Elman,随机森林RF,卷积神经网络CNN,长短期记忆网络LSTM,BiLSTM,GRU,BiGRU,TCN,BiTCN,CNN-LSTM,TCN-LSTM,BiTCN-BiGRU,LSTM–Attention,VMD–LSTM,PCA–BP等等

用于数据的分类,时序,回归预测。
多特征输入,单输出,多输出

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

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

相关文章

35_YOLOX网络详解

1.1 简介 YOLOX是YOLO系列&#xff08;You Only Look Once&#xff09;目标检测模型的一个最新变种&#xff0c;由阿里云团队和旷视科技在2021年提出。YOLO系列以其快速、准确的目标检测能力而闻名&#xff0c;而YOLOX在此基础上进行了多方面的改进和优化&#xff0c;旨在提供…

获取手机当前信号强度(dbm/asu值)解决 getGsmSignalStrength()总是返回99问题

能看到这篇文章说明网上哪些获取 &#xff08;dbm/asu值&#xff09;不适合你&#xff0c;不是他们的代码不正确&#xff0c;而是不符合你的情况 比如安卓6获取android手机信号强度 可以看这篇文章 https://blog.csdn.net/sinat_31057219/article/details/81134030 当然如果你…

计算机三级嵌入式(三)——嵌入式系统硬件组成

目录 考点1 嵌入式最小硬件系统 考点2 基于 ARM 内核的典型嵌入式应用系统硬件组成 考点3 ARM 的 AMBA 总线体系结构及标准 考点4 基于 ARM 内核的嵌入式芯片的硬件组成 考点5 存储器层次结构 考点6 存储器分类 考点7 存储器主要性能指标 考点8 片内存储器 考点9 外部…

Perfectly Clear WorkBench中文绿色版,让每一张照片都完美无瑕

软件简介 你是否曾经为了一张不完美的照片而感到遗憾&#xff1f;是否曾经因为照片中的小瑕疵而不得不花费大量时间进行后期处理&#xff1f;现在&#xff0c;有了Perfectly Clear WorkBench&#xff0c;这些问题都将迎刃而解。作为全球领先的智能图像校正技术商推出的图像清晰…

【C++高阶数据结构】红黑树:全面剖析与深度学习

目录 &#x1f680; 前言&#xff1a;红黑树与AVL树的比较一&#xff1a; &#x1f525; 红黑树的概念二&#xff1a; &#x1f525; 红黑树的性质 三&#xff1a; &#x1f525; 红黑树节点的定义和结构&#x1f680; 3.1 基本元素&#x1f680; 3.2 节点颜色&#x1f680; 3.…

Java中static静态变量--继承等相关知识

目录 static 继承&#xff1a; 继承的特点&#xff1a; 案例&#xff1a;自己设计一个继承体系练习&#xff1a; 设计思想&#xff1a; 代码&#xff1a; 子类到底能继承父类的哪些类容&#xff1f; 成员变量内存的继承情况&#xff1a; 成员方法的内存继承情况&#x…

项目经理的开源工具指南:优化您的选择过程

国内外主流的10款开源项目管理系统对比&#xff1a;PingCode、Worktile、禅道、Teambition、Gogs、码云 Gitee、Jira、Redmine、ProjectLibre、OpenProject。 在选择合适的开源项目管理系统时&#xff0c;很多团队面临诸多挑战&#xff1a;功能是否全面&#xff1f;易用性如何&…

C++初学(7)

7.1、字符串 字符串是存储在内存的连续字节中的一系列字符。C处理字符串的方式有两种&#xff0c;第一种是来自C语言&#xff0c;常被称为C风格字符串&#xff0c;另一种则是基于string类库的方法。 存储在连续字节中的一系列字符意味着可以将字符存储在char数组中&#xff0…

Mecanim Animation System

动画系统简介 Unity 有一个非常丰富而又复杂的动画系统&#xff0c;官方称其为Mecanim。该系统具有以下功能&#xff1a; 支持从外部导入动画剪辑&#xff0c;如&#xff1a;fbx、mb | ma&#xff08;Autodesk maya 原件&#xff09;、.max&#xff08;3ds Max原件&#xff09…

5.仓颉编程_数组使用与异常捕捉

5.仓颉编程_数组使用与异常捕捉 数字数组与字符串数组 import std.console.*main() {var qty 10var zero2 0var array [1,2,3] //数组var str_arr:Array<String> [aa,bb]try {//qty qty / zero2//println(qty)println(str_arr[0])println(array[0])// println(arr…

rhce THE homework of first

ssh远程免密登录成功 下载httpd和nginx 关闭防火墙 查看selinux的状态 为服务器配置ip 填充网站的内容 添加服务器配置 将文本写入网站

2024电赛H题参考方案(+视频演示)——自动行使小车

目录 一、题目要求 二、参考资源获取 三、参考方案 1、环境搭建及工程移植 2、移植MPU6050模块 3、移植TB6612电机驱动模块 4、整体控制方案视频演示 总结 一、题目要求 小编自认为&#xff1a;此次H题属于控制类题目&#xff0c;相较于往年较为简单&#xff0c;功能也算单一&a…

深入解析 GZIP 压缩传输:优化网络性能的利器

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

MATLAB中“varargin”的作用

varargin是什么&#xff1f; 在MATLAB中&#xff0c;varargin是一个特殊的变量&#xff0c;用于接收函数输入参数中的可变数量的参数。它允许用户在调用函数时传递不确定数量的参数。 varargin的本质是一个包含了所有可变参数的cell数组。在函数内部&#xff0c;可以使用cell…

dpdk 响应icmp请求(Echo or Echo Reply Message)

注&#xff1a;对于"Echo or Echo Reply Message"类型的icmp报文&#xff0c;响应报文的Identiy和Sequence Number的值与请求报文的这两个字段的值要相同。 Identifier&#xff08;标识符&#xff09;字段通常由发送方设置&#xff0c;并被用于将ICMP请求与相应的回复…

Lombok注解之@SneakyThrows作用

Lombok注解之SneakyThrows作用 读法 [ˈsniːki] [θroʊz] 悄悄的 抛出顾名思义&#xff0c;它能够自动偷摸的为咱们的代码生成一个try…catch块&#xff0c;并把异常向上抛出来。 使用 SneakyThrows的使用范围&#xff1a; 只能作用在方法和构造函数之上。从源码就可以…

【C++】选择结构-多条件if语句

多条件if语句格式为 if(第一个条件) else if(若第一个条件未满足&#xff0c;执行此条件) {第二个条件满足执行此操作} else if(若第二个条件未满足&#xff0c;执行此条件) {第三个条件满足执行此操作} ...... else{若所有条件都不满足执行此操作} 下面是一个实例 #inc…

app逆向实战:某咨询6.0.4.4版本signature等参数抓包与破解

本篇博客旨在记录学习过程&#xff0c;不可用于商用等其它途径 入口 密码登录接口 抓包 根据抓包结果得知动态参数是client_timestamp&#xff0c;keyword&#xff0c;client_session&#xff0c;sig&#xff0c;sigTime&#xff0c;cursor 初步观察得出以下结论&#xff…

负债了,打死也别干的六件事!逾期了,六句谎言千万别信!

负债这事儿&#xff0c;真是一言难尽&#xff0c;稍不留神&#xff0c;就可能让情况雪上加霜。今儿咱们聊聊&#xff0c;负债后那几件打死也别干的几件事&#xff0c;尤其是针对还没有逾期的朋友们&#xff0c;免得后悔莫及。 首先&#xff0c;千万别动歪脑筋&#xff0c;拿公款…

深入剖析:GaussDB与MySQL在COUNT查询中的并行化技术

引言 数据库查询性能优化是数据库管理和开发中的一个重要议题。在处理大数据量的COUNT查询时&#xff0c;传统的单线程处理方式可能无法满足现代应用的性能需求。GaussDB(for MySQL)和MySQL作为流行的数据库系统&#xff0c;它们在并行查询优化方面有着各自的策略和技术。本文…