以下文章来源于数据魔术师 ,作者周航
欲下载本文相关的代码及算例,请关注公众号【程序猿声】,后台回复【TSVRPJAVA】不包括【】即可
前言
大家好呀!
眼看这9102年都快要过去了,小编也是越来越感觉着急了:
为什么感觉自己今年还这么蔡!
所以赶紧趁考试周来临前,码出了这篇禁忌搜索算法解决VRPTW的文章,临时抱佛脚,假装自己今年学了一点东西。
本文附带Java代码详解,是根据过去学长写的C++代码修改而来的:
干货 | 十分钟掌握禁忌搜索算法求解带时间窗的车辆路径问题(附C++代码和详细代码注释)
新的代码加入了原先忘加的藐视准则,将一些冗余代码改为函数调用,同时加入大规模注释,很适合没尝试过VRPTW的同学学习(没错就是我自己)。
算例是用上文的格式,所以建议在仔细阅读本文代码之前先浏览一下上文。
下面就开始今天的分享吧!
VRPTW简介
VRPTW问题可描述为:假设一个配送中心为周围若干个位于不同地理位置、且对货物送达时间有不相同要求的客户点提供配送服务。其中,配送中心用于运行的车辆都是同一型号的(即拥有相同的容量、速度);配送中心对车辆出入的时间有限制。我们的任务是找出使所有车辆行使路径总和最小的路线。
VRPTW的更多详细介绍可以参考之前的推文: