我正在为一家运输公司做项目。基本上我得到了,比方说,200辆城市和7辆卡车,我需要计算7辆卡车的最佳重量分布和最短路径(km)。
在我实际与Google Maps API通信之前,我会自行计算。对于7辆卡车,我可以在大约2小时内计算出大约3000万条路线。 (重量分配是通过回溯/动态编程和"下一个城市"选择一些数学公式)
我需要比较这些路线并记住最好的路线(7辆卡车上最小的路线)。
我得到这样的东西:
Truck 1
City 1 (x,y)
City 2 (x,y)
City 3 (x,y)
City 4 (x,y)
.....
Truck 2
City 1 (x,y)
City 2 (x,y)
City 3 (x,y)
City 4 (x,y)
.....
Truck 3
City 1 (x,y)
City 2 (x,y)
City 3 (x,y)
City 4 (x,y)
.....
etc ...
其中(x,y)是经度和纬度。我可以用欧几里德距离计算每个城市之间的距离 d = sqrt((x1 - x2)^ 2 +(y1 - y2)^ 2)所以我最终得到一个图。
我打算用A *算法来订购每辆卡车的城市 并在获得有序城市之间的距离之后。问题是 在现实生活中,卡车将重返起点 ... A *可以考虑到吗?
我知道经度/纬度的最短路径并不总是最短的公里数,但是没关系,让我们说90%的准确度就行了。
知道如何计算得分"每条路线(所有7辆卡车) 所以它可以尽可能接近实际的km?
(我可以对Google Maps API进行有限的调用,我想排除本地最糟糕的选项)