分享好友 最新资讯首页 最新资讯分类 切换频道
火车最快中转方案搜索软件,支持多次中转、前K最短路径
2024-12-19 17:26

01

火车最快中转方案搜索软件,支持多次中转、前K最短路径

12306花了3亿没解决的问题

前文《12306出错,如何获取火车中转换乘的最优方案?》说到12306 app存在2个问题:

1.1搜出的中转方案不是最快的

赣州西站保定东站,用12306搜索出的中转方案如下图所示:

这些中转方案是按总耗时排的序,可以看出,12306搜出的最快方案为11:44出发、23:00到,用时为11小时16分钟,明显不是真正的最快方案。

1.2只支持中转1次

12306无论是中转,还是定制中转,都只支持中转1次,比如我搜索:赣州西站——石河子站,怎么搜都显示无法到达。

02

我是怎么解决12306问题的?

我针对以上2个问题向12306客服邮箱(kyfw@12306.cn)提出建议,请求TA们升级功能,使app支持多次中转、并确保搜出的方案是真的前K最快方案。

然而12306一直没有回应,这咋办?

如果每次旅途能省下1个人的1小时,14亿人就是14亿个小时,14亿小时/24小时/365天/80年=2千万人,时间就是生命,相当于每次能省下2千万条人命

省全国人民坐火车的时间功德无量,于是,我决定不等12306了,生死看淡,不服就干,从2023年9月1日开始开发“野猫版12306”。

我是电气博士,以前开发的都是电网仿真与分析软件,因此,对超大型网络分析是有研究基础的,火车网跟电网差不多,也是最复杂的人造网络之一。

下图是我绘制的全国火车网络图,一键布局、自动绘制,图太大,只能截图展示部分。

注:本文所有图片皆高清,点击可放大查看

我的开发步骤如下:

1)开发网络爬虫爬取全国列车时刻表,形成火车网字典;2023/9/1完成

2)网络爬虫爬取全国各车站所属省份,形成车站-分区字典;2023/9/5完成

3)将火车网字典转换为电网数据,对车站进行分区管理;2023/9/10完成

4)建立全国火车网图,支持双向、多回路、多标签,方便未来的功能扩展;2023/9/11完成

5)将车站按时刻不同划分为多个子站,添加子站之间的空线路,以乘车时长作为线路权重,搜索两两之间的最短路径;2023/9/13完成

6)对搜出的路径进行精简、整合、形成路径描述字符串及时长,对路径字典按时长排序,输出前K条最短路径。2023/9/15完成

7)允许时间筛选、站名扩展,支持指定多个中转站。2023/9/18完成

8)提高程序运行速度和准确率,让用户使用更傻瓜、更友好。正在完成中,软件有任何问题,欢迎大家批评指正,提出改善建议

9月的课余时间多数都投入在开发这软件上了,代码量约2千行,当前发布的算是1.0版本,绿色运行文件夹如下图所示:

注:本文所有图片皆高清,点击可放大查看

03

野猫版12306的功能和用法

首先申明,本次开发和测试用的是个人电脑,内存和CPU性能有限,不敢开多线程,因此图论搜索用时较长,如果换成12306之类的大公司的服务器,开多线程、运行速度不是问题。

野猫版12306共有以下5大功能:

3.1更强大的单次中转方案搜索

启动程序之后界面如下图所示,在关键词框中输入火车站名,比如“赣”,点击筛选,会筛选出赣州站和赣州西站等所有名字带“赣”的。

双击列表中筛选出的“赣州西”,即完成出发站的设置,同理设置目的站。

你如果记得火车站的全名,可以不筛选、直接在出发站文本框中输入火车站全名。

软件的每个按钮都提供了悬停提示,哪里不会就把鼠标悬停在哪。

12306搜出的最快方案为11:44出发、23:00到,用时为11小时16分钟。

从上图可以看出,野猫版12306搜出的前11个最快方案,最慢的都比12306的快,最快的只需要9小时26分钟。搜索用时<1秒。

将K值改为20,搜索前20个最快方案,发现12306的最快方案,实际就是野猫版12306的第18快方案。

3.2二次中转方案搜索

将中转次数由1次改为2次,再次搜索前9个最快方案(超过9个1张截图显示不全),结果如下图所示:

从上图可以看出,中转次数从1次到2次会量变引起质变,程序无法短时通过简单搜索获取最优方案,而需要生成火车网络图,利用图论搜索。

最终生成了1张包含5.7万个节点、46.6万条支路的全国火车网络图,搜索用时达到155秒。

可以看到,赣州西到保定东用12306搜索中转1次最快要11小时16分,用野猫版12306中转1次最快要9小时26分、中转2次最快要8小时34分。

(8*60+34)/(11*60+16) = 76.04%,由此可见野猫版12306可以节省旅途约1/4的用时,赣州西到保定东的用时少了近3小时

3.3不限次中转方案搜索

将中转次数由2次改为不限,再次搜索前9个最快方案(K值超过9个时1张截图显示不全,K值想取多大就可以取多大,几乎不影响运行速度),结果如下图所示:

可以看出,不限中转次数的搜索是真的全局搜索,生成了1张包含6.3万个节点、582.2万条支路的全国火车网络图,搜索用时达到317秒。

它搜出的方案是真的全网最快,赣州西到保定东只用了8个半小时。上图还可以看出,并非中转次数越多就越快,一般2次以内就可以取得最快方案

3.4时间过滤

软件支持对出行方案进行时间过滤,限制最早和最晚的出发时间、最早和最晚的到达时间。

如果搜索之前未限制,也可以事后对搜出的结果进行时间过滤。

从赣州西到乌鲁木齐,12306搜索最少要用44小时45分,用野猫版12306只需要33小时53分钟。(缩时搜索,上图方案并非全局最优)。

车型为GDCT时,形成的火车网络图有12.7万节点、1171.7万支路;车型为GDCZ时,形成的火车网络图有12.8万节点、1199.1万支路。

网络越大,搜索用时也越长,因此,建议只输入需要的车型。

上图是我真花时间搜的,用了1847秒,已经是GDCZ车型下的全国最快方案。赣州西去乌鲁木齐最快要31小时36分钟,比12306的省了13个多小时。

如果还要考虑T和K字头的火车,则将车型改为GDCZTK,有可能会有更快方案,但搜索用时会更长,我就不演示了。

3.5指定中转站

指定中转站之后,程序搜索最短路径的难度大为下降,只需要简单搜索即可,不必图论搜索,因此搜索速度会更快。

指定1个中转站如下图所示,搜索用时为0.033秒。

指定2个中转站如下图所示,用时为0.702秒。

指定中转站的优先级高于中转次数,也就是如果用户输入了2个中转站、但限制了中转次数为1,程序会优先满足那2个中转站、中转2次。

指定3个中转站如下图所示,用时为6.631秒。

指定4个中转站如下图所示,用时为58.792秒。

总结:12306只支持1次中转,且搜出的最快方案,并非1次中转方案中最快的。野猫版12306很好的解决了这2个问题,能确保搜出的1次中转方案是最优的,并支持多次中转和时间过滤。

04

野猫版12306的获取与更新

人生三不朽,立德、立功、立言。本人是大学老师,开发此软件为的是广积善缘。

大家可以回复“火车免费获取本软件的绿色版,下载之后解压,解压之后不用安装、直接双击“野猫版12306.exe”即可运行。

软件文件夹中有个“列车时刻表.txt”文件,是用“野猫网络.exe”从携程官网爬取的列车信息,每季度列车调图之后需要一键更新它。

9月27日至10月4日是本季度的列车调图时间,许多列车暂时停运了,10月5日我会主动更新1次。

大家只需要回复“火车”,获取的就是最新的“列车时刻表.txt”和“野猫版12306.exe”。

任何软件,都需要用户的不断使用与反馈才能完善,因此,欢迎大家进读者群交流,对软件提出宝贵的修改意见。

读者群也是微信互助群,博士们在线答疑,有问必答,回复“帮助”可进群。

有电气软件开发需求的,欢迎找我合作,只要项目真正有用,我都愿意开发。

作为赣州人,生死看淡,不服就干,实干兴邦!!!

往期相关文章:

《12306出错,如何获取火车中转换乘的最优方案?》

《铁路12306坐火车的最新经验合集》

最新文章
【系统架构设计】计算机网络
OSI/RM 结构模型 1977年,国际标准化组织为适应网络标准化发展的需求,制定了开放系统互联参考模型(Open System Interconnectio
全世界规模最大战争排名,第一名居然是清朝时期!
自打人类走上进化这条路,就想着法儿想要证明【一伙人就该被另一伙人支配】。古罗马角斗士时代一方有多大势力,就看他有多少人的
python tk随机内容生成器
MyRandom ran=new MyRandom();System.out.println(ran.nextString(1));System.out.println(ran.nextString(50, OnlyNum));System
ai自动写文章在线 在线写文章自动生成器
身为文案工作者,我深感写作之重要且充满挑战。如今,随着人工智能(AI)写作平台的出现,我的写作历程出现了巨大变革。在此,很
AI写系统性综述ChatGPT还远远不够未来百年能否实现
在科学研究的浩瀚海洋中,科研人员时常面临一个棘手的问题:如何有效整合和理解海量的科学文献。尽管网络的普及极大地丰富了文献
全球AI半导体技术排名:韩国强势第三,未来发展值得关注
近年来,人工智能(AI)技术的迅猛发展促进了相关硬件的创新,尤其是AI半导体的需求日益上升。根据最新的研究报告和韩国媒体的报
MVSO影视程序源码 影视自动采集_魔改超强SEO_自定义苹果cms资源站接口
?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]/
多地楼市政策不断优化 房地产市场企稳态势渐明
原标题:多地楼市政策不断优化 房地产市场企稳态势渐明来源:人民网近日,海南省住房公积金管理局发布《关于调整优化住房公积金
新澳正版资料免费大全,词语作答释义解释汇总
随着互联网的普及和在线信息资源的丰富,人们对于各类资料的需求日益增长,在新时代,获取正版资料显得尤为重要,本文将介绍新澳
揭秘快速排名SEO软件,网站高效提升排名的秘密武器
快速排名SEO软件,是网站提升排名的得力助手。它通过优化关键词、内容布局和链接策略,帮助网站在搜索引擎中迅速提升排名,实现