我是一个送货员,我想计算出一日工作的最短路程。
具体:
- 公司有多个取件点,而我每天早上可以随意选从哪一个取件点开始配送
- 每一个配送点要送的包裹都有对应的单个或多个取件点(可能一个送货点有来自取件点A和B甚至更多不同地方的包裹要取),要保证去配送的时候手里有对应的包裹(就是之前去过对应包裹的取件点)
- 可多次去一个送货点
- 每天不用回到初始点,只要回到任意取件点就行
- 包裹不限重量,默认去一个取件点就把所有包裹都带上
- 每日的送货点不会超过250个
背景:之前做了一个GIS系统,需要加上这个送货员功能,目前可以计算两点之间的最短路线,在这里我用的是C++
个人初步搜索:我浏览了网络上的TSP旅行商问题,也大致了解了解法(但不明白原理所以不知道怎么自己修改)。在想是忽略取货问题先找出所有点的最短路径,然后以那个基础上去改进路线比较好,还是这样子算走远了。如果可以的话,那我该怎么优化路径我也不知道。
想问一下在这个条件下该怎么算会更快,谢谢大家