【智能算法改进】改进的麻雀搜索算法及其求解旅行商问题

目录

    • 1.算法原理
    • 2.改进点
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.算法原理

【智能算法】麻雀搜索算法(SSA)原理及实现

2.改进点

改进发现者更新位置

为了使 SSA 算法能够避开向原点收敛的弊端, 将算法向最优位置跳跃的操作转换为向最优位置的移动:
X i , j t + 1 = { X i , j t ⋅ ( Q + 1 ) , R 2 < S T X i , j t + Q , R 2 ⩾ S T (1) \left.X_{i,j}^{t+1}=\left\{\begin{array}{ll}X_{i,j}^{t}\cdot(Q+1),&R_2<S T\\\\X_{i,j}^{t}+Q,&R_2\geqslant S T\end{array}\right.\right.\tag{1} Xi,jt+1= Xi,jt(Q+1),Xi,jt+Q,R2<STR2ST(1)

改进预警者更新位置

为了让预警者发现危险后能够逃离到最优的安全位置, 提高算法的全局搜索能力:
X i , j t + 1 = { X i , j t ⋅ β ⋅ ( X i , j t − X b e s t t ) , f i = f g X i , j t + β ⋅ ( X w o r s t t − X b e s t t ) , f i ≠ f g (2) \left.X_{i,j}^{t+1}=\left\{\begin{array}{ll}X_{i,j}^{t}\cdot\beta\cdot(X_{i,j}^{t}-X_{\mathrm{best}}^{t}),&f_{i}=f_{g}\\X_{i,j}^{t}+\beta\cdot(X_{\mathrm{worst}}^{t}-X_{\mathrm{best}}^{t}),&f_{i}\neq f_{g}\end{array}\right.\right.\tag{2} Xi,jt+1={Xi,jtβ(Xi,jtXbestt),Xi,jt+β(XworsttXbestt),fi=fgfi=fg(2)

高斯变异策略

引入高斯变异算子对每次迭代得到的全局最优解进行扰动, 避免算法陷入局部最优, 出现早熟现象的缺点, 同时也能够维持种群个体的多样性:
X g a u s s t + 1 = X g b e s t t ⋅ ( 1 + G a u s s i a n ( α ) ) (3) X_{\mathrm{gauss}}^{t+1}=X_{\mathrm{gbest}}^{t}\cdot(1+Gaussian(\alpha))\tag{3} Xgausst+1=Xgbestt(1+Gaussian(α))(3)

3.结果展示

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

TSP应用
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] 张月栋,莫愿斌.改进的麻雀搜索算法及其求解旅行商问题.计算机系统应用,2022,31(2):200-206

5.代码获取

【资源清单】代码资源清单导航~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Java IO] 流原理及流的分类

Java IO 流概念 Java IO&#xff08;输入/输出&#xff09;流是Java用于处理输入和输出操作的一种方式。 Java IO 系统主要基于流&#xff08;Stream&#xff09;的概念&#xff0c;流是一组有序的数据序列&#xff0c;可以是输入流&#xff08;从数据源读取数据&#xff09;或…

DP(4) | 0-1背包 | Java | LeetCode 1049, 494, 474 做题总结

1049. 最后一块石头的重量 II 和 LC 416.分割等和子集 类似 思路&#xff08;我没有思路&#xff09;&#xff1a; 两块石头相撞&#xff0c;这里没有想到的一个点是&#xff0c;相撞的两个石头要几乎相似 以示例1为例&#xff0c;stones [2,7,4,1,8,1]&#xff0c;如果从左到…

【学习笔记】虚幻SkeletalMesh学习(一)基础介绍

文章目录 零、前言一、资源介绍1.1 骨架资源1.2 骨架网格体资源 二、UE4中的定义2.1 骨骼数据2.2 模型网格数据 三、渲染3.1 RenderData的初始化3.2 渲染对象的创建3.3 渲染对象的更新3.3.1 游戏线程的更新&#xff08;*FSkeletalMeshObjectGPUSkin::Update*&#xff09;3.3.2 …

java 发送企业域名邮箱消息

目录 通过域名注册邮箱准备添加用户登录 通过java发送企业邮件pom.xml发送代码 企业为了推广本公司的知名度&#xff0c;系统注册邮箱时&#xff0c;发送验证码得邮箱&#xff0c;需要以域名为后缀 通过域名注册邮箱 首选拥有一个企业域名&#xff0c;本文默认大家都有域名 准…

浏览器缓存:强缓存与协商缓存实现原理有哪些?

1、强缓存&#xff1a;设置缓存时间的&#xff0c;那么在这个时间内浏览器向服务器发送请求更新数据&#xff0c;但是服务器会让其从缓存中获取数据。 可参考&#xff1a;彻底弄懂强缓存与协商缓存 - 简书 2、协商缓存每次都会向浏览器询问&#xff0c;那么是怎么询问的呢&…

家用美容仪维修图片记录

家用美容仪维修过程记录&#xff0c;宙斯&#xff0c;上图

JavaEE初阶-网络原理2

文章目录 前言一、TCP报头结构二、TCP的十个核心机制2.1 确认应答2.2 超时重传2.3 连接管理2.3.1 建立连接&#xff1a;三次握手2.3.2 断开连接&#xff1a;四次挥手. 2.4 滑动窗口2.5 流量控制2.6 拥塞控制2.7 延时应答2.8 捎带应答2.9 面向字节流2.10 异常情况2.11 补充 前言…

Java(二十)---双向链表

文章目录 前言1.为什么学习双向链表2.双向链表(LinkedList)的模拟实现2.1. 准备工作2.2.功能的实现2.2.1.显示链表(display) 和 是否包含某种元素(contains) 以及 获取链表节点个数(size())2.2.2.头插法(addFirst)&#xff0c;尾插法(addLast)&#xff0c;以及在指定位置进行插…

鸿蒙语言基础类库:【@system.brightness (屏幕亮度)】

屏幕亮度 说明&#xff1a; 从API Version 7 开始&#xff0c;该接口不再维护&#xff0c;推荐使用新接口[ohos.brightness]。本模块首批接口从API version 3开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import brightness from sy…

基于SpringBoot+VueJS+微信小程序技术的图书森林共享小程序设计与实现:7000字论文+源代码参考

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

ZBrush入门使用介绍——2、GoZ使用

大家好&#xff0c;我是阿赵。   这里介绍一下ZBrush的GoZ功能。 一、 GoZ工具的作用 GoZ工具&#xff0c;是一个可以把ZBrush里面的模型发送到别的软件&#xff0c;还有可以从别的软件把模型发送到ZBrush的工具。   暂时&#xff0c;GoZ支持Cinema4D、3D Studio Max、May…

Go Web开发框架之Gin

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

代码规范性

代码规范性 命名规范代码格式注释代码结构异常处理代码复用代码审查空格的用法代码示例 命名规范 ​ 1、变量和函数名&#xff1a;使用驼峰命名法&#xff08;camelCase&#xff09;&#xff0c;如userName、getUserInfo。 ​ 2、常量&#xff1a;使用全大写字母&#xff0c;…

CompletableFuture异步编排

1.创建异步对象 CompletableFuture提供了四个静态方法来创建一个异步操作 public static ExecutorService executor Executors.newFixedThreadPool(10);public static void main(String[] args) throws ExecutionException, InterruptedException {System.out.println("…

mwwz库支持可视化每个特征点的匹配质量

支持获取每个特征点的匹配分数&#xff0c;同时支持擦除特征点。

数据库第6次作业

内容 1、创建视图v_emp_dept_id_1&#xff0c;查询销售部门的员工姓名和家庭住址 2、创建视图v_emp_dept&#xff0c;查询销售部门员工姓名和家庭住址及部门名称。 3、创建视图v_dept_emp_count(dept_name,emp_count,avg_salay)&#xff0c;统计每个部门人数并计算平均工资。 …

【Datawhale AI夏令营】电力需求预测挑战赛 Task02

task02 Task2 版本教程将使用机器学习模型解决本次问题&#xff0c;模型使用简单&#xff0c;数据不需要过多预处理&#xff1b; 使用机器学习方法一般主要需要从 获取数据&增强、特征提取和模型 三个方面下手。 使用机器学习方法有哪几个步骤&#xff1f; 一般的使用机器…

摄像头 RN6752v1 视频采集卡

摄像头 AHD倒车摄像头比较好&#xff0c;AHD英文全名Analog High Definition&#xff0c;即模拟高清&#xff0c;拥有比较好的分辨率与画面质感。 RN6752v1 GQW AKKY2 usb 采集卡 FHD&#xff08;1080p&#xff09;、HD&#xff08;720p&#xff09;和D1&#xff08;480i&am…

局域网内放开端口

欢迎使用Markdown编辑器 点击完成后&#xff0c;其他内网机器就可以访问了。

ICT产业是什么?具体是干什么

前言&#xff1a; ICT产业&#xff0c;即信息与通信技术产业&#xff08;Information and Communication Technology&#xff09;&#xff0c;是一个涵盖了广泛技术和服务的综合产业。它主要包括计算机硬件、软件、网络和电信设备等领域。 ICT是由信息通信和技术的英文单词首…