一种多策略改进飞蛾扑火智能优化算法IMFO 种群初始化精英反向策略+柯西变异策略

news2024/9/24 15:29:04

一种多策略改进飞蛾扑火智能优化算法IMFO 种群初始化精英反向策略+柯西变异策略

文章目录

  • 前言
    • 一种多策略改进飞蛾扑火智能优化算法IMFO 种群初始化精英反向策略+柯西变异策略
  • 一、MFO飞蛾扑火算法基本原理
  • 二、改进飞蛾扑火算法IMFO
    • 改进1:种群初始化精英反向策略
    • 改进2:柯西变异
    • 程序内容
  • 三、实验结果
    • 主函数程序
  • 获取
  • 总结


在这里插入图片描述

前言

一种多策略改进飞蛾扑火智能优化算法IMFO 种群初始化精英反向策略+柯西变异策略

飞蛾扑火优化算法(MFO)基于飞蛾扑火的自然行为。其详细原理如下:

  1. 初始化:在搜索空间中随机生成一组初始解,代表飞蛾的初始位置。

  2. 光源定位:选择目标最优解或光源位置,模拟飞蛾被光源吸引的过程。

  3. 更新位置

    • 围绕光源:飞蛾围绕光源做螺旋状运动,通过改变飞蛾的位置更新公式,使其逐步靠近光源。
    • 局部搜索:在飞蛾的位置附近进行局部搜索,模拟飞蛾在光源附近的探索行为。
  4. 更新光源:根据飞蛾的位置和目标的适应度,更新光源位置,以反映当前找到的最优解。

  5. 终止条件:重复更新过程,直到满足设定的停止条件,如达到最大迭代次数或解的改进幅度小于阈值。

MFO的核心在于模拟飞蛾的行为,通过这些行为来优化问题的解。

一、MFO飞蛾扑火算法基本原理

二、改进飞蛾扑火算法IMFO

改进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:柯西变异

在这里插入图片描述

        b=2-0.4*(Iteration/Max_iteration); %0.6
        k=6;
        for  c=1:k
            V=zeros(c,dim);
            d=randi([1,dim],1,1);
            WW=cumsum(sorted_population,1);
            W=WW(N,:)/N;
            V(c,d)= Best_flame_pos(1,d)+W(1,d)*cauchyrnd(0,b,1);
            Flag4ub=V(c,:)>ub;
            Flag4lb=V(c,:)<lb;
            V(c,:)=(V(c,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;
            V_fitness(1,c)=fobj(V(c,:));

        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]:下界、上界、维度、目标函数表达式

%%  调用算法
[IGOOSE_pos,IGOOSE_score,IGOOSE_curve]=IGOOSE(SearchAgents,Max_iterations,ub,lb,dim,fobj);        % 调用IGOOSE算法
[GOOSE_pos,GOOSE_score,GOOSE_Convergence_curve]=GOOSE(SearchAgents,Max_iterations,ub,lb,dim,fobj); % 调用GOOSE算法

获取

私信即可

总结

利用该优化算法对机器学习和深度学习进行优化
先用就是创新
包括但不限于
优化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/2071029.html

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

相关文章

车辆分类检测数据集数据集

车辆分类检测数据集 数据集中的所有车辆分为六类:客车、微型客车、小型货车、轿车、SUV和卡车。每种车型的车辆数量分别为558辆、883辆、476辆、5922辆、1392辆、822辆。 xml标签 数据集描述&#xff1a; 该数据集包含多种类型的车辆图像&#xff0c;旨在用于训练和评估车辆分…

【C++】string典型oj题

目录 前言字符串相加字符串相乘字符串转换整数 前言 上一节我们已经仔细讲解了关于string的各种重要接口的使用&#xff1a;【C】string的使用。下面我们来使用这些接口写几道OJ题。 字符串相加 415.字符串相加-力扣   这道题目的意思也很简单&#xff0c;就是想让我们模拟…

什么是d3dx9_42.dll?如何将丢失的d3dx9_42.dll进行修复呢?

d3dx9_42.dll文件丢失什么情况&#xff1f;如何将丢失的d3dx9_42.dll进行修复呢&#xff1f;d3dx9_42.dll又是什么文件&#xff1f;d3dx9_42.dll 文件是一个由 Microsoft Corporation 开发的部分&#xff0c;属于 Microsoft DirectX for Windows 的一组庞大库集合中的一个。Dir…

ShellSweepPlus 介绍:开源 Web Shell 检测

ShellSweepPlus 概述 ShellSweepPlus是一款开源工具,旨在帮助安全团队检测潜在的 Web Shell。它是 ShellSweep 的增强版 Webshell 的威胁 Web shell 对组织构成重大威胁,因为它们为攻击者提供了对受感染 Web 服务器的未经授权的访问和控制。攻击者可以利用这些 shell 来:…

AI跟踪报道第53期-新加坡内哥谈技术-本周AI新闻: 谷歌老施讲,微软Phi 3.5和Search GPT

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

JavaScript初级——DOM和事件简介

一、什么是DOM&#xff1f; 二、模型 三、对象的 HTML DOM 树 四、节点 浏览器已经为我们提供了文档节点对象&#xff0c;这个对象是window属性&#xff0c;可以再网页中直接使用&#xff0c;文档节点代表的是整个网页。 五、事件简介 事件&#xff0c;就是用户和浏览器之间的交…

致远oa员工离职之后无法获取登录名

故事 前几天在做致远oa的携程平台的人员同步&#xff0c;碰见一个问题&#xff0c;致远oa人员离职之后&#xff0c;无法获取到人员的登录名&#xff0c;导致无法再携程平台做离职处理&#xff0c;因为客户要求的是用登录名作为携程编号 技术支持 感谢大佬对文章的技术支持 …

【git】git进阶-blame/stash单个文件/rebase和merge/cherry-pick命令/reflog和log

文章目录 git blame查看单个文件修改历史git stash单个文件git rebase命令git rebase和git merge区别git cherry-pick命令git reflog和git log区别 git blame查看单个文件修改历史 git blame&#xff1a;查看文件中每行最后的修改作者 git blame your_filegit log和git show结合…

探索Facebook的AI算法:如何优化用户体验

在数字化时代&#xff0c;社交媒体平台不断引领着技术创新的潮流。作为全球领先的社交平台之一&#xff0c;Facebook在人工智能&#xff08;AI&#xff09;算法的应用上取得了显著进展&#xff0c;极大地提升了用户的社交体验。本文将探讨Facebook如何通过先进的AI算法优化用户…

如何实现一棵红黑树

目录 1.什么是红黑树 2.红黑树的实现 2.1红黑树的插入 新插入的结点应该是什么颜色的呢&#xff1f; 插入情况的分析 ​编辑插入代码如下所示 2.2红黑树的查找 2.2检测红黑树 1.什么是红黑树&#xff1f; 红黑树是一棵接近平衡的二叉搜索树。由于AVL树在频繁大量改变数据…

MySQL字符串比较忽略尾随空格

问题 今天遇到一个线上问题&#xff0c;排查过程中发现&#xff0c;MySQL 查询条件使用字符串判断等时会自动忽略字符串尾部的空格&#xff0c;示例如下&#xff1a; MySQL 表格结构&#xff1a; CREATE TABLE users (id int(11) NOT NULL,name varchar(50) DEFAULT NULL,ag…

深度学习一(Datawhale X 李宏毅苹果书 AI夏令营)

一&#xff0c;机器学习基础 机器学习&#xff08;Machine Learning, ML&#xff09;是让机器具备学习能力的过程&#xff0c;其核心在于使机器能够自动寻找并应用复杂的函数&#xff0c;以解决各种任务如语音识别、图像识别和策略决策&#xff08;如AlphaGo&#xff09;。这些…

YoloV8改进策略:卷积篇|ACConv2d模块在YoloV8中的创新应用与显著性能提升|简单易用|即插即用

摘要 在本文中,我们创新性地将ACConv2d模块引入到YoloV8目标检测模型中,通过对YoloV8中原有的Conv卷积层进行替换,实现了模型性能的大幅提升。ACConv2d模块基于不对称卷积块(ACB)的设计思想,利用1D非对称卷积(13和31卷积)来增强标准方形卷积核(如33卷积)的表征能力。…

spring揭秘11-aop05-aop应用经典场景及目标对象内部方法调用无法被拦截

文章目录 【README】【1】基于aop实现全局异常处理【2】基于aop实现权限检查【3】基于aop实现缓存【4】aop无法拦截目标对象内部方法调用的问题【4.1】问题概述【4.2】解决方法 【README】 本文总结自《spring揭秘》&#xff0c;作者王福强&#xff0c;非常棒的一本书&#xf…

TFTP error: ‘Permission denied‘ (0)

项目场景&#xff1a; 环境&#xff1a;ubuntu 5.4.150 开发板&#xff1a;s3c2440 在u-boot中&#xff0c;通过tftp传输uImage文件失败。 问题描述 SMDK2410 # tftp 0x30008000 uImage dm9000 i/o: 0x20000000, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 00:0…

【变化检测】基于UNet建筑物变化检测

主要内容如下&#xff1a; 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、基于likyoo变化检测代码模型训练与预测 4、Onnx运行及可视化 运行环境&#xff1a;Python3.8&#xff0c;torch1.12.0cu113 likyoo变化检测源码&#xff1a;https://github.com/likyoo/change_dete…

数据仓库中的表设计模式:全量表、增量表与拉链表

在现代数据仓库中&#xff0c;管理和分析海量数据需要高效且灵活的数据存储策略。全量表、增量表和拉链表是三种常见的数据存储模式&#xff0c;各自针对不同的数据管理需求提供了解决方案。全量表通过保存完整的数据快照确保数据的一致性&#xff0c;增量表则通过记录数据的变…

如何在 Ubuntu 系统中安装PyCharm集成开发环境?

在上一篇文章中&#xff0c;我们探讨了Jupyter notebook&#xff0c;今天再来看看另一款常用的Python 工具&#xff0c;Pycharm。 PyCharm也是我们日常开发和学习常用的Python 集成开发环境 (IDE)&#xff0c;由 JetBrains 开发。 PyCharm 带有一整套可以帮助用户在使用Pytho…

大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

【代码随想录训练营第42期 Day39打卡 - 打家劫舍问题 - LeetCode 198.打家劫舍 213.打家劫舍II 337.打家劫舍III

目录 一、做题心得 二、题目与题解 题目一&#xff1a;198.打家劫舍 题目链接 题解&#xff1a;动态规划 题目二&#xff1a;213.打家劫舍II 题目链接 题解&#xff1a;动态规划 题目三&#xff1a;337.打家劫舍III 题目链接 题解&#xff1a;动态规划 三、小结 一、…