我最近在面试时遇到了一个要求解决的用例属于旅行商问题/车辆路径问题的案例。我能够告诉他们实际问题是什么以及数学涉及到什么问题。我曾经解释过如何使用Hadoop的MapReduce范例部分解决下面提到的用例问题。 (解释了如何使用多重映射减少工作能够解决这个问题),使用本书中提到的Graph算法用MapReduce进行数据密集型文本处理(作者:Jimmy Lin和Chris Dyer)旅行商/车辆路径用例的最佳可能实现
出于好奇,我做了一些关于谷歌我可以看到大量的实施和研究已经在不同的口味中解决了这个问题 我被问到的问题有(x,y)格式的城市坐标,我在google上看到的很多解决方案都考虑了一些其他因素,比如单位距离,负面/正面的计量单位等等,所以总之我做了更多的研究和阅读,我得到了更多的困惑,
我在这里的问题是对于下面的用例什么是可能的解决方案和什么将是最好的解决方案EM。如果一些有经验的人可以对此有所了解,那么以更好的方式澄清我的困惑并理解解决方案将会很有帮助。或者,如果有人能告诉我到正确的方向(让我不明白的解决方案较为迷茫探索整个海洋)
使用情况,接受采访时问:
的公司是在试图找到最佳的最佳解决方案为12名员工服务他的300名客户群。 他们想要一个技术解决方案,告诉他们如何随着业务增长和其他变化(如客户变更的位置,新增地点等)如何满足客户需求。
问题基本上是旅行商问题(TSP)或车辆路径问题(VSP)的一种形式。以下事情需要在这里完成。
起始坐标为(0,0),城市坐标示例如下所述。 下面是与工作的解决方案是在文本文件中预期提供作为输入坐标:
X coordinate Y Coordinate
420 278
421 40
29 178
350 47
298 201
417 186
378 134
447 239
42 114
45 199
362 195
381 243
429 1
338 209
176 9
364 26
326 182
500 129
190 51
489 103
368 142
132 260
305 200
446 137
375 154
440 190
9 118
437 32
383 266
什么可以处理这个NP-hard问题,或者如果不对 方式有什么可以是不同的正确方法他们的优点/缺点的方法。
由于其更多的基于分析的问题可以通过某种形式的可视化 来解决这个问题。像一些图表或使用R /分析工具
或者让我知道,如果你需要更多的细节,如果你可以建议在那里我可以阅读和理解更多。
在此先感谢
我不是你要找的专家,所以我也不敢张贴作为回答这个问题过于简单化评论。基本上,你可以描述你的坐标之间的路径,然后找到哈密尔顿周期。许多通用库可以计算这些周期,例如[igraph](http://stackoverflow.com/questions/26557533/hamiltonian-path-using-igraph)(我不知道hadoop虽然)。 [这个问题](http://stackoverflow.com/questions/16115942/finding-all-hamiltonian-cycles)是指java中的解决方案。希望能帮助到你。 – lrnzcig
员工人数可能暗示他们希望讨论多个业务场所。“最好”和“最优”都需要一个目标和一些成本函数。 – greybeard