我们正在开发一个应用程序,我们将在谷歌地图中展示一些可供出售的房屋。用户可以从地图中选择任何房屋,并可以找到他/她选择的所有房屋之间的最短驾车路线。
任何人都可以告诉我如何找到最短路线并在地图上显示?有没有基于PHP的TSP库,可以帮助我们实现我们正在尝试的目标?
答案 0 :(得分:11)
Google search显示了很多结果。
http://scrivna.com/blog/travelling-salesman-problem/ - 强制PHP实施保证获得最佳答案。仅适用于有限数量的节点。
http://www.renownedmedia.com/blog/genetic-algorithm-traveling-salesperson-php/ - 遗传算法PHP实现将近似答案。适用于大量节点。
您可以将两者结合起来,根据图表的大小选择运行哪一个。
正如@Barbar在评论中指出的那样,有一个existing app可以完成你正在尝试的事情。有一篇博客文章解释how it works。
答案 1 :(得分:2)
它很旧但对人们可能有用: https://developers.google.com/maps/documentation/javascript/v2/services#RoutesAndSteps
只需为每个房子创建航点,让谷歌为你做数学......
答案 2 :(得分:0)
如果问题满足三角不等式,您可以尝试使用Christofides算法。