【群智能算法改进】一种改进的同核分子优化算法 IHMO算法【Matlab代码#71】

news2024/11/15 15:48:58

文章目录

    • 【`获取资源`请见文章第5节:资源获取】
    • 1. 原始HMO算法
    • 2. 改进HMO算法
      • 2.1 改进的距离减小因子
      • 2.2 黄金正弦策略扰动
    • 3. 部分代码展示
    • 4. 仿真结果展示
    • 5. 资源获取说明


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


1. 原始HMO算法

同核分子优化算法(Homonuclear Molecules Optimization,HMO)是一种新的元启发式算法,用于优化复杂和非线性问题。根据玻尔原子模型和同核分子的结构,HMO的灵感来自于原子周围电子的排列。该算法基于在给定量子数的搜索空间中创建一组原子的初始种群以及与每个原子(搜索代理)相关联的电子。在每次迭代中,选择每个原子的最佳电子作为原子核的新位置,多个原子向具有最佳解的原子移动,形成同核分子。总体而言,HMO优于一些常见的经典算法,比如GA和PSO,可以与新的高效算法(如EO)竞争。HMO算法于2022年发表。

2. 改进HMO算法

2.1 改进的距离减小因子

首先设计一个其他原子核与最佳原子核距离参数 d t d_{t} dt,数学模型为:
在这里插入图片描述
在这里插入图片描述
γ 1 γ_{1} γ1即为改进后的距离减小因子

2.2 黄金正弦策略扰动

黄金正弦算法通过组合正弦函数和黄金比例的方法进行迭代搜索,以接近最优解。黄金正弦作用时,搜索空间逐渐变窄,并在可能达到最优解的区域进行搜索,以提高收敛效率。黄金正弦的参考公式如下:
在这里插入图片描述

3. 部分代码展示

%% 清空环境变量
clear;clc;close all

SearchAgents_no=30; % 种群数量
Function_name='F1'; % 标准测试函数编号(F1~F23)
Max_iteration=500; % 最大迭代次数
% 获取目标函数对应参数
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
% 寻优
[Best_score_HMO,Best_pos_HMO,cg_curve_HMO]=HMO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[Best_score_IHMO,Best_pos_IHMO,cg_curve_IHMO]=IHMO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);

figure('Position',[500 500 660 290])
% 绘制搜索空间
subplot(1,2,1);
func_plot(Function_name);
title('Test function')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
grid off

% 绘制收敛曲线
subplot(1,2,2);
semilogy(cg_curve_HMO,'LineWidth',2,'Color','b')
hold on
semilogy(cg_curve_IHMO,'LineWidth',2,'Color','r')
title('Convergence curve')
xlabel('Iteration');
ylabel('Best score obtained so far');

axis tight
grid off
box on
legend('HMO','IHMO')

display(['The best optimal value of the objective funciton found by HMO is : ', num2str(Best_score_HMO)]);
display(['The best optimal value of the objective funciton found by IHMO is : ', num2str(Best_score_IHMO)]);

4. 仿真结果展示

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

5. 资源获取说明

可以获取完整代码资源。👇👇👇👀 名片

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

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

相关文章

HarmonyOS 应用开发之UIAbility组件生命周期

概述 当用户打开、切换和返回到对应应用时,应用中的UIAbility实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调,通过这些回调可以知道当前UIAbility实例的某个状态发生改变,会经过UIAbility实例的创建和销毁,…

网络原理-传输层-UDP报文结构

本文介绍UDP报文 有很多友友搞不清楚UDP报文的详细结构还有TCP的详细结构,所以专门分开来讲 以免弄混. 首先我们先看一下整个UDP结构,让大家有一个全方面的认识 下面我们来详细解释UDP报 16位源端口号(本机):就是2字节大小,16个二进制位. 16位目的端口号(目的机):也是2字节…

如何构建一台机器学习服务器

系统信息 系统安装 系统安装这里就不再赘述,推荐使用ventory作为PE盘,来安装系统,这样方便快捷,可同时包含多个镜像,无需重复制作,需要注意的是在安装系统的时候需要手动进行分区,我们可以看一下…

uniApp使用XR-Frame创建3D场景(3)光源投影的运用。

上一篇讲解了如何在uniApp中创建xr-frame子组件并创建简单的3D场景。 这篇我们讲解光源在场景中的运用以及相关属性。 在子组件 xr-start的index.wxml文件中我们加入如下代码 <xr-scene render-system"alpha:true" bind:ready"handleReady"><xr…

睿尔曼超轻量仿人机械臂之复合机器人底盘介绍及接口调用

机器人移动平台是一个包含完整成熟的感知、认知和定位导航能力的轮式机器人底盘产品级平台&#xff0c;产品致力于为各行业细分市场的商用轮式服务机器人提供一站式移动机器人解决方案&#xff0c;让合作伙伴专注在核心业务/人机交互的实现。以下是我司产品双臂机器人以及复合升…

主机安全-德迅卫士

什么是主机安全&#xff1f; 主机安全&#xff0c;其核心内容包括安全应用交付系统、应用监管系统、操作系统安全增强系统和运维安全管控系统。它的具体功能是指保证主机在数据存储和处理的保密性、完整性&#xff0c;可用性&#xff0c;它包括硬件、固件、系统软件的自身安全&…

HCIA-Datacom H12-811 题库补充(3/28)

完整题库及答案解析&#xff0c;请直接扫描上方二维码&#xff0c;持续更新中 OSPFv3使用哪个区域号标识骨干区域&#xff1f; A&#xff1a;0 B&#xff1a;3 C&#xff1a;1 D&#xff1a;2 答案&#xff1a;A 解析&#xff1a;AREA 号0就是骨干区域。 STP下游设备通知上游…

蓝桥杯_day6

文章目录 不同路径不同路径II拿金币珠宝的最高价值 不同路径 【题目描述】 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为…

啥也不会的大学生看过来,这8步就能系统入门stm32单片机???

大家好&#xff0c;今天给大家介绍啥也不会的大学生看过来&#xff0c;这8步就能系统入门stm32单片机&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 对于没有任何基础的大学生来…

GPT:多轮对话并搭建简单的聊天机器人

1 多轮对话 多轮对话能力至关重要&#xff0c;它不仅能深化交流&#xff0c;精准捕捉对方意图&#xff0c;还能促进有效沟通&#xff0c;增强理解。在智能客服、教育辅导等领域&#xff0c;多轮对话更是提升服务质量、增强用户体验的关键。 注意&#xff1a;大模型没有多轮对话…

JAVA使用POI实现Excel单元格合并-02

JAVA使用POI实现Excel单元格合并 实现效果 解释&#xff1a;只要是遇见与前一行相同的数据就合并 引入jar <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version></depe…

OpenCV 如何使用 XML 和 YAML 文件的文件输入和输出

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;如何利用OpenCV4.9离散傅里叶变换 下一篇: 目标 本文内容主要介绍&#xff1a; 如何使用 YAML 或 XML 文件打印和读取文件和 OpenCV 的文本条目&#xff1f;如何对 OpenCV …

如何选择合适的充电桩主控制板

充电桩主控制板是充电桩不可或缺的核心元件之一&#xff0c;它的功能多样&#xff0c;包括控制、保护、监测、报警和记录等。随着充电基础设施的不断完善&#xff0c;选择合适的充电桩主控制板成为设计过程中至关重要的一环。然而&#xff0c;在市场上琳琅满目的产品中做出选择…

20221124 kafka实时数据写入Redis

一、上线结论 实现了将用户线上实时浏览的沉浸式视频信息&#xff0c;保存在Redis中这样一个功能。为实现沉浸式视频离线推荐到实时推荐提供了强有力的支持。目前只是应用在沉浸式场景&#xff0c;后续也能扩展到其他所有场景。用于两个场景&#xff1a;&#xff08;1&#xf…

一分钟开服 《幻兽帕鲁》游戏专属服务器by京东云主机

使用京东云服务器搭建幻兽帕鲁Palworld游戏联机服务器教程&#xff0c;非常简单&#xff0c;京东云推出幻兽帕鲁镜像系统&#xff0c;镜像直接选择幻兽帕鲁镜像即可一键自动部署&#xff0c;不需要手动操作&#xff0c;真正的新手0基础部署幻兽帕鲁&#xff0c;阿腾云atengyun.…

创新指南|如何将人工智能应用于未来的创新管理——并不断付诸实践

ChatGPT 的推出加剧了围绕人工智能的炒作&#xff0c;现在我们看到了前所未有的巨大进展。对于我们这些热衷于创新的人来说&#xff0c;这是一个激动人心的时刻。他们正在共同采取措施&#xff0c;充分利用人工智能进行创新管理。本文将阐述人工智能能为创新管理做什么&#xf…

iptables添加端口映射,k8s主机查询不到端口但能访问。

研究原因&#xff1a;k8s内一台主机使用命令查询没有80端口。但通过浏览器访问又能访问到服务。 查询了资料是使用了hostport方式暴露pod端口。cni调用iptables增加了DNAT规则。访问时流量先经过iptables直接被NAT到具体服务去了。 链接: K8s罪魁祸首之"HostPort劫持了我…

RegSeg 学习笔记(待完善)

论文阅读 解决的问题 引用别的论文的内容 可以用 controlf 寻找想要的内容 PPM 空间金字塔池化改进 SPP / SPPF / SimSPPF / ASPP / RFB / SPPCSPC / SPPFCSPC / SPPELAN &#xfffc; ASPP STDC&#xff1a;short-term dense concatenate module 和 DDRNet SE-ResNeXt …

短视频矩阵系统究竟怎么样,如何实现一站式精准获客?

在数字化时代的浩渺海洋中&#xff0c;短视频如同一股汹涌的浪潮&#xff0c;席卷了众多企业的营销战略。如何在这样的背景下&#xff0c;驾驭这股浪潮&#xff0c;将其转化为获客的强大动力&#xff0c;已成为众多企业家们心中的疑问。而蜘蛛短视频矩阵系统的出现&#xff0c;…

iOS开发进阶(十一):ViewController 控制器详解

文章目录 一、前言二、UIViewController三、UINavigationController四、UITabBarController五、UIPageViewController六、拓展阅读 一、前言 iOS 界面开发最重要的首属ViewController和View&#xff0c;ViewController是View的控制器&#xff0c;也就是一般的页面&#xff0c;…