返回首页

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

时间:2023-10-03 来源:原创/投稿/转载作者:管理员点击:

  这些中转方案是按总耗时排的序,可以看出,12306搜出的最快方案为11:44出发、23:00到,

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

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

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

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

  ,添加子站之间的空线路,以乘车时长作为线路权重,搜索两两之间的最短路径;2023/9/13完成6)对搜出的路径进行精简、整合、形成路径描述字符串及时长,对路径字典按时长排序,输出前K条最短路径。2023/9/15完成

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

  ,因此图论搜索用时较长,如果换成12306之类的大公司的服务器,开多线程、运行速度不是问题。

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

  的全国火车网络图,搜索用时达到155秒。可以看到,赣州西到保定东用12306搜索中转1次最快要11小时16分,用

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

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

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

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

  总结:12306只支持1次中转,且搜出的最快方案,并非1次中转方案中最快的。野猫版12306

  野猫版12306.exe”即可运行。软件文件夹中有个“列车时刻表.txt”文件,是用“野猫网络.exe”从携程官网爬取的列车信息,每季度列车调图之后需要一键更新它。9月27日至10月4日是本季度的列车调图时间,许多列车暂时停运

  任何软件,都需要用户的不断使用与反馈才能完善,因此,欢迎大家进读者群交流,对软件提出宝贵的修改意见。读者群也是互助群,博士们在线答疑,有问必答,回复“帮助

【责任编辑:管理员】
随机推荐 更多>>