MATLAB蚁群算法求解带时间窗的旅行商TSPTW问题代码实例

MATLAB蚁群算法求解带时间窗的旅行商TSPTW问题代码实例

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

蚁群算法编程求解TSPTW问题实例:

在经纬度范围为(121, 43)到(123, 45)的矩形区域内,散布着1个商家(编号1)和25个顾客点(编号为226),各个点的坐标见表1。节点1表示商家,226表示与商家对应的顾客点。假定车辆行驶速度为30km/h,配送时间从配送员从商家位置出发算起,然后送到各个顾客点,最后返回商家位置。每个顾客点有到达的时间窗范围,不在规定的时间窗范围内到达会有一定的时间惩罚成本。早到的时间惩罚系数为0.2,迟到的时间惩罚系数为0.5,单位距离成本为1。一旦车辆出发则处于配送状态,直到所有配送任务完成停止计算,用蚁群算法求总成本最小(距离成本+时间惩罚成本)的最优路径。
编号 X坐标
(经度) Y坐标
(纬度) 最早时间窗
(分钟) 最晚时间窗
(分钟)
1 122.044 44.4703 150 1860
2 121.2915 44.5052 50 2810
3 122.9038 44.6702 450 2810
4 121.082 44.1601 400 1290
5 122.8507 44.2793 300 1100
6 122.9272 43.3611 400 2430
7 121.1113 44.6827 400 2810
8 121.801 43.3733 450 2810
9 121.9528 44.5705 100 2240
10 122.7934 44.3812 450 2240
11 121.9571 44.0387 300 2240
12 121.6636 44.5933 0 2430
13 121.5183 44.3164 100 2620
14 122.2505 43.0642 400 1480
15 122.671 44.243 300 1480
16 122.8145 44.6338 0 2430
17 121.9659 43.9129 150 1480
18 122.0954 43.4043 400 2240
19 121.1637 44.4004 350 1860
20 121.6539 43.2019 500 1670
21 121.241 43.6942 300 1860
22 122.227 44.7439 500 2050
23 121.0417 43.9196 350 1290
24 121.5933 44.2417 200 3000
25 121.2904 44.1993 250 1670
26 122.5063 44.7392 400 1100

先看下求解结果!
运行结果:
在这里插入图片描述在这里插入图片描述

优化结束!
最优总成本为:1230.2245
其中:
距离成本为:978.1766
早到时间惩罚成本为:203.8713
晚到时间惩罚成本为:48.1766
最优配送路径为:
1->9->22->26->16->3->10->5->15->6->14->18->8->20->21->23->4->25->17->11->24->13->2->19->7->12->1
到达各点的时间为:
0->30->102->164->236->258->327->352->393->597->761->844->910->960->1103->1169->1224->1271->1433->1461->1554->1577->1643->1680->1743->1868->1956
下面进行程序演示!

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

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

相关文章

Go-Zero定义API实战:探索API语法规范与最佳实践(五)

前言 上一篇文章带你实现了Go-Zero模板定制化,本文将继续分享如何使用GO-ZERO进行业务开发。 通过编写API层,我们能够对外进行接口的暴露,因此学习规范的API层编写姿势是很重要的。 通过本文的分享,你将能够学习到Go-Zero的API…

【御控物联】Java JSON结构转换、JSON协议转换、JSON属性互换(15):对象To数组——转换映射方式

文章目录 一、JSON结构转换是什么?二、术语解释三、案例之《JSON对象 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么? JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

如何压缩图片大小?7个实用软件教你快速压缩图片大小

如何压缩图片大小?7个实用软件教你快速压缩图片大小 以下是七个实用的软件,可以帮助您快速压缩图片大小: 图片编辑助手:这是一款功能强大的图像处理软件,其中包含了图像压缩功能。您可以打开需要压缩的图片&#xf…

Java 包语句,看这一篇就够了

1.设计的文件层级 我们将“Package”文件夹称为根目录,“Level01”称为一级目录,“Level02”称为二级目录,以此类推。 2.发现在不同目录下的包名有如下特征: 根目录下的文件不需要包名,可以理解成包名为 “”一级目录…

上海人工智能实验室浦视团队联培博士(2025)招生正式启动!

上海人工智能实验室浦视团队2025级联培博士招生计划开启啦! 上海人工智能实验室作为国内领先的人工智能领域的新型科研机构,不仅致力于攻克重要基础理论难题,更着眼于构建全球领先的 AI 技术人才培养平台。浦视团队是大模型方向的核心科研团…

【Java基础】我不允许还有人搞不懂lambda表达式!!!

λ希腊字母表中排序第十一位的字母避免匿名内部类定义过多,使得代码更加简洁其实质属于函数式编程的概念 (params)->expression[表达式] (params)->statement[语句] (params)->{statements}lambda表达式推导过程: 创建一个类,重写接…

AI机器人火了,探讨早就可以帮我们开拓市场的中关村科金语音机器人

近期AI机器人给我们带来了不少惊喜,比如国外 Figuer 联合 OpenAI 做了 Chatgpt 机器人,可以通过对话后推理干活,国内仿生机器人员工也开始量产,看到AI机器人不禁想到会不会替代我们的工作?我们了解到很多机器人厂家的…

【JAVA进阶篇教学】第十一篇:Java中ReentrantLock锁讲解

博主打算从0-1讲解下java进阶篇教学,今天教学第十篇:Java中ReentrantLock锁讲解。 在Java并发编程中,保证多线程环境下的数据安全是至关重要的。ReentrantLock 是Java中用于实现线程安全的一种锁机制。本篇博客将深入介绍 ReentrantLock 的原…

MapReduce代码

WordCount 数据准备: a.txt lxy lxy lxy zhang wsoossj liagn guui liang liagn代码(在idea中创建一个Maven工程): mapper: package com.lxy.mr.wordcount.thi;import org.apache.hadoop.io.LongWritable; import…

ABAP ALSM_EXCEL_TO_INTERNAL_TABLE 导入Excel的几个问题

1、没有办法多页签 2、单元格50个字符限制,每个单元格仅读取50个字符 3、Excel单元格总不能有不可见字符换 eg 回车,换行 # 等否则读取的结果会加上引号

【会议征稿】第四届机器学习与智能系统工程国际学术会议(MLISE 2024, 6/28-30)

第四届机器学习与智能系统工程国际学术会议(MLISE 2024)由珠海科技学院主办,并获得多家高校与研究机构共同支持,将于204年6月28-30日在珠海召开。 MLISE将围绕 “机器学习与智能系统工程” 相关领域,为国内外研究人员与学者提供一…

kafka学习笔记04(小滴课堂)

Kafka的producer生产者发送到Broker分区策略讲解 Kafka核心API模块-producer API讲解实战 代码: ProducerRecord介绍和key的作用 Kafka核心API模块-producerAPI回调函数实战 producer生产者发送指定分区实战 我们设置5个分区。 我们指定分区。 重新指定一个分区&am…

根据后端返回下拉请求地址,前端动态请求拿到下拉数据渲染

完整代码如下&#xff1a; <template> <!-- 资源列表页 --> <div> <div> <i click"$router.go(-1)" style" color: #409eff; cursor: pointer; margin-right: 5px; font-size: 18px; " class"el-icon-back" ><…

【算法】二分查找——二分查找

本节博客详述“二分查找”并且以例子来进行讨论&#xff0c;有需要借鉴即可。 目录 1.二分查找1.1使用前提1.2模板 2.题目3.题解代码示例4.二分查找的一般模板5.总结 1.二分查找 1.1使用前提 使用的条件&#xff1a;数组具有“二段性”&#xff0c;二段性指的是数组可以根据某…

数据库系统概论(个人笔记)(第二部分)

数据库系统概论&#xff08;个人笔记&#xff09; 文章目录 数据库系统概论&#xff08;个人笔记&#xff09;2、关系模型简介2.1 关系数据库的结构2.2 数据库模式2.3 键2.4 模式图2.5 关系查询语言2.6 关系代数 2、关系模型简介 2.1 关系数据库的结构 Structure of Relational…

网络2--MAC地址,IP地址的理解

引入&#xff1a; 每一张主机都会有一张网卡&#xff0c;每一张网卡都有一个48bit位的序列号 当我们的热点被连上&#xff0c;你查看时&#xff0c;就会出现MAC地址&#xff0c;IP地址 那么他们两个是什么呢&#xff1f;&#xff1f;&#xff1f; MAC地址 在同一个局域网中…

【C++】每日一题 17 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 可以使用回溯法来解决这个问题。首先定义一个映射关系将数字与字母对应起来…

在js中table表格中进行渲染轮播图

效果图&#xff1a;示例&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title></title><script src"js/jquery-3.6.3.js"></script><style>/* 轮播图 */.basko {width: 100%;h…

51单片机小车制造过程记录

首先感谢B站up主好家伙vcc的资料。 这次小车做出来虽然资料挺全的&#xff0c;但中间还是犯了很多不该犯的错误。 第一个&#xff0c;物料这次我们搞错了挺多&#xff0c;最离谱的应该是最小系统板都错了。 资料里用的stm32f103c8t6&#xff0c;我们开始买成了stm32f103c8t6。…

Qt学习笔记1.3.4 QtCore-Qt资源系统

文章目录 资源收集文件(.qrc)外部二进制资源内编译(compiled-in)资源压缩使用应用程序中的资源使用库中的资源 Qt资源系统是一种 独立于平台的机制&#xff0c;用于在应用程序的可执行文件中存储二进制文件。如果您的应用程序总是需要一组特定的文件(图标、翻译文件等)&#x…