【单目标优化算法】烟花优化算法(Matlab代码实现)

news2024/11/17 13:19:03

 👨‍🎓个人主页:研学社的博客 

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

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

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

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

通过模拟烟花爆炸的方式来进行多点同时爆炸式搜索,这也许是一种高效的搜索方式,是有别于现有其他方法的新型搜索方法,从而有了研究这种爆炸搜索方式的想法,当时为其取名烟花算法(fireworks algorithm,FWA)。虽然烟花算法这个名称比较直观和简洁,但是由于它没有直接与优化等求解问题建立直接的联系,此后有些研究人员有时也用其他别称来称呼我们的烟花算法,如烟花优化算法、烟花爆炸算法、烟花爆炸优化算法、烟花爆炸搜索算法、爆炸搜索方法等。尽管有这些不同的别称,这里统一采用原始的名称烟花算法,以免混淆。

📚2 运行结果

部分代码:

    %选择操作,从烟花、爆炸火花、变异火花里(都包含在三维数组中)选取N个优良个体作为下一代(先将最优个体留下,然后剩下的N-1个按轮盘赌原则选取)
    n=sum(E_N)+N; %烟花、火花总个数
    q=1;
    Fitness = zeros(1,1);
    E_Sum = zeros(1,D);
    for i=1:N  % 三维转二维
        for j=1:(E_N(i)+1)  % 三维数组每一页的行数(即每个烟花及其产生的火花数之和)
            E_Sum(q,:)=E_Spark(j,:,i); % 烟花与火花总量
            Fitness(q)=fitness(E_Sum(q,:)); % 计算所有烟花、火花的适应度,用于选取最优个体
            q=q+1;
        end
    end
    [Fitness,X]=sort(Fitness);  % 适应度升序排列
    x(1,:)=E_Sum(X(1),:);    % 最优个体
    dist=pdist(E_Sum);       % 求解各火花两两间的欧式距离
    S=squareform(dist);      % 将距离向量重排成n*n数组,第i行之和即为第i个火花到其他火花的距离之和
    P = zeros(1,n);
    for i=1:n                % 分别求各行之和
        P(i)=sum(S(i,:));
    end
    [P,Ix]=sort(P,'descend');% 将距离按降序排列,选取前N-1个,指的是如果个体密度较高,即该个体周围有很多其他候选者个体时,该个体被选择的概率会降低
    for i=1:(N-1)
        x(i+1,:)=E_Sum(Ix(i),:);
    end
end 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]洪鑫磊,崔英花.基于烟花优化粒子群的室内定位算法研究[J].电子测量技术,2022,45(14):59-64.DOI:10.19651/j.cnki.emt.2208998.

[2]胡建豪. 基于烟花算法的矿井通风网络风量优化研究及应用[D].中国矿业大学,2020.DOI:10.27623/d.cnki.gzkyu.2020.002183.

🌈4 Matlab代码实现

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

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

相关文章

定时器设计

定时器设计 定时器应用: 游戏的Buff实现,Redis中的过期任务,Linux中的定时任务等等心跳检测,如服务器接收队列满了,tcp客户端会定时探测是否能够发送数据 定时器数据结构选取要求: 需要快速找到到期任务…

防火墙设置实验(12)

预备知识防火墙基本原理 防火墙是一种访问控制技术,位于可信与不可信网络之间,通过设置一系列安全规则对两个网络之间的通信进行控制,检测交换的信息,防止对信息资源的非法存取和访问。防火墙分为软防火墙和硬防火墙,一…

关于分布式的一些基础知识

1、分布式锁 (ngix,zoomkeeper,raft,kafka) 在单机场景下,可以使用语言的内置锁来实现进程或者线程同步。但是在分布式场景下,需要同步的进程可能位于不同的节点上,那么就需要使用分布式锁。 为了保证一个方法或属性在高并发情况下的同一时间…

【面试题】前端春招第二面

不容错过的一些面试题小细节,话不多说,直接看题~大厂面试题分享 面试题库后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库HTML/CSS/Javascript/ES篇(1)标准盒模型和怪异盒…

k8s集群概念组件简介

一、Kubernetes 集群概述1.2 Kubernetes 资源资源用途服务(Service)Kubernetes 使用服务在一组 pod 上公开正在运行的应用程序。ReplicaSetKubernetes 使用 ReplicaSet 来维护恒定的 pod 号。Deployment维护应用程序生命周期的资源对象。1.3 Kubernetes …

重生之我是赏金猎人-SRC漏洞挖掘(七)-看我如何从FUZZ到SRC官网XSS

0x01 前奏 本文来自:RGM78sec 截至发稿,vuln早已修复 前不久在挖掘某SRC时,偶然在该SRC官网的编辑器发现了一个接口。 起初以为是任意文件包含能RCE了,后来测试发现只是拼接读取了远程资源站的图片,原本都想着放弃…

TypeScript(二)基本数据类型

前言 距离上篇博客已有两年了,对TS也有了一定的认识,于是计划继续更新系列文章 基本数据类型 在JS中,基本数据类型有:Boolan(布尔),Number(数字),String&a…

什么是事务?Mysql事务怎么用?Mybatis怎么操作事务的?Spring呢?快进来看看

目录 一、计算机中的事务 1. 概念 2.事务的ACID特性 3.事务类型 1)手动事务 2)自动事务 4.为什么需要事务? 5.优点 二、MySQL事务 1.语法格式: 2.关闭自动提交,开启新事务 3.开启自动提交,关闭事务控制 三、Mybatis事务 Mybatis开关事务控…

Meta AR眼镜主管:正开发史无前例的AR,但要解决很多困难

前不久,Meta CTO Andrew Bosworth在个人博客上“怒斥”公司内部不够专注,应该将资源投入在有核心竞争力、高投资回报率的业务上,而不是开发取悦用户却不赚钱的产品。尽管删除一些小众功能后,用户可能会不满,但为了让Me…

Bi系统跟数据中台的区别是什么?

随着数据时代的发展,BI分析是当今数据时代必不可少的能力之一。BI系统通过系统化产品化的方法,能够大幅降低数据的获取成本、提升数据使用效率。同时借助可视化、交互式的操作,可以高效支持业务的分析及发展。 BI如此火热,随之而…

openpnp - 增加散料飞达

文章目录openpnp - 增加散料飞达概述笔记飞达在设备上的放置方向编带料在飞达中的方向将相机移动到飞达料的第一孔的中心捕获保存第1孔中心编带设置测试相机位置是否正确测试吸嘴的位置是否正确将吸嘴回到安全位置测试是否能正确抓料ENDopenpnp - 增加散料飞达 概述 使用open…

MySQL性能调优与设计——MySQL调优——慢查询

MySQL调优–慢查询 MySQL调优金字塔 很明显从图上可以看出,越往上走,难度越来越高,收益却越来越小。 对于架构调优,在系统设计时首先需要充分考虑业务的实际情况,是否可以把不适合数据库做的事情放到数据仓库、搜索引…

分享111个HTML旅游交通模板,总有一款适合您

分享111个HTML旅游交通模板,总有一款适合您 111个HTML旅游交通模板下载链接:https://pan.baidu.com/s/1VHJSBVJbj4PQpPAwxysJBg?pwd8b17 提取码:8b17 Python采集代码下载链接:采集代码.zip - 蓝奏云 汽车租赁平台网页模板 汽…

时的科技迎1亿融资,这辆“空中的士”能否实现真正飞行?

近期,进行载人eVTOL的研发、生产和销售的时的科技宣布完成1亿元Pre-A轮融资,成立不到两年,这已是时的科技的第三轮融资,此前,时的科技已获得蓝驰创投和德迅投资千万美元种子轮投资。在不少人看来,时的科技所…

恢复出厂设置在哪里?抓住这份官方指南(Win10电脑)

当电脑经常报告错误,并伴有运行缓慢和停滞等问题时,很可能是计算机老化造成的。想要解决这个问题,可以通过恢复出厂设置使得电脑恢复成初始状态,自然而然问题就解决了。 但是很多人不知道,恢复出厂设置在哪里&#xf…

【自学Linux】Linux运行级别

Linux运行级别 Linux运行级别教程 Linux 可以支持运行级别的设置,运行级别就是操作系统当前正在运行的功能级别,级别是从 0 到 6。Centos7 系统之前的版本是通过 /etc/inittab 文件来定义系统,而 CentOS7 用的是 /lib/systemd/system/runle…

MySQL数据库调优————JOIN优化

JOIN的种类 LEFT JOIN SELECT <select_list> FROM Table_A A LEFT JOIN Table_B B ON A.Key B.Key求的是A所有的数据以及A与B的交集 RIGHT JOIN SELECT <select_list> FROM Table_A A RIGHT JOIN Table_B B ON A.Key B.Key求的是B所有的数据以及A和B的交集 IN…

Nginx 新增模块 http_image_filter_module 来实现动态生成缩略图

前言 通过 nginx 的 HttpImageFilterModule 模块裁剪过大的图片到指定大小&#xff0c;这个nginx自带的模块是默认关闭的&#xff0c;所以需要重新编译nginx加上此模块。 一、编译 nginx 1.查看 nginx 模块 由于nginx 是之前装好的&#xff0c;这里需要先看一下是否安装了H…

Sentinel简单使用

目录 1.官网 2.主要作用 3.安装启动 3.功能详细 3.1实时监控 3.2 簇点链路 3.3流控规则 3.4熔断规则 3.4热点key限流 3.5系统规则 4.SentinelResource注解解释 1.官网 gitHub GitHub - alibaba/Sentinel: A powerful flow control component enabling reliability…

尚医通 (十六)搭建平台用户系统前端环境 | 用户平台首页数据

目录一、服务端渲染技术NUXT1、什么是服务端渲染2、什么是NUXT二、NUXT环境初始化1、下载压缩包2、解压3、修改package.json4、修改nuxt.config.js5、在命令提示终端中进入项目目录6、安装依赖7、测试运行8、NUXT目录结构9、封装axios10、引入element-ui三、首页静态数据整合1、…