Answers:
正如史蒂夫·卡列斯塔德(Steve Kallestad)所说,这是一个TSP问题,有许多出色的免费求解器可以找到近似解。
对于您要寻找的东西,可能工作量太大,但是您可以尝试将其中一种求解器与Google Maps API结合使用,以找到适合您的坐标的真实步行距离:https : //developers.google.com/maps / documentation / directions /#DirectionsRequests
(我从未使用过此API,所以我不知道它会多么简单或有效)
人们看到与旅行商问题紧密相关的事物,并认为无法解决。
关于此主题的大量工作已经完成,并且并非全部表明没有解决方案。根据参数和所需的解决方案,您可能可以找到可行的方法。
您可能想看一下OpenOpt python库。
实际上,为您的问题实施解决方案在这里涉及太多内容,但这应该是一个很好的起点。在这些软件包中,以及在我为您提供的链接中的文档中,您会发现有很多可用的算法策略。您有一个很小的地理区域和一小组“销售人员”,因此在合理的时间范围内计算策略所需的计算能力应该在桌面上可用。
实际上,您不需要找到绝对最佳的策略。您只需要一个很好的。选择看起来不怎么让人压倒的TSP包,然后尝试一下。
正如@SpacedMan 在评论中指出的那样,街道布局将对步行清单的优化产生巨大影响。您在问题的标题中仅包含“纬度和经度”;但是解决该问题并不会导致“步行清单”,而是会导致“乌鸦飞翔的清单”。
将您的街道布局看成是一个图形,并用边权重来描述距离,并试图找到所有必需地址之间的最短遍历,这会使您将问题视为“ 最短路径问题 ”。Dijkstra的算法是最著名的解决方案(还有其他解决方案)。在其简单的实现中,它收敛于O(n 2),如果您的地址列表大小适中,则可以接受。否则,请在以上链接中查找优化的版本。
至于开始解决该问题的图书馆和资源,因为您没有指定语言或平台,所以让我指出在Open Street Maps Wiki以及总体上它们的框架和库页面中的路由求解器的编译。