【问题标题】:Minimum number of Trips [closed]最少旅行次数[关闭]
【发布时间】:2019-06-16 23:07:01
【问题描述】:

我有latitudelongitude 这些社团的N societiesorder count 点,我还有latitudelongitude 仓库点,卡车将从那里部署和发送到这些不同的社会(如亚马逊送货)。一辆卡车可以运送maximum 350 orders(订单数

考虑到我们从this脚本中确定两个社团或仓库之间的距离是'X'是准确的,我们如何解决这个问题?我首先认为我们可以使用子集总和问题来解决它,也许?对我来说,这就像图表上的 dp,无限数量的推销员的旅行推销员问题。

卡车数量没有限制。

【问题讨论】:

  • 我会瞄准一个好的解决方案,不一定是最好的。
  • 到目前为止,YOU 尝试过什么?分享您的发现。
  • @Henry 我按照你说的做了,幸运的是找到了解决方案,非常感谢。

标签: algorithm graph dynamic-programming graph-algorithm


【解决方案1】:

这是一个典型的旅行商问题 (TSP),称为 NP 完全问题。这意味着如果您正在寻找最佳解决方案,您必须测试大多数组合数学。如您所知,!350 非常棒。

不过,正如亨利建议的那样,您可以寻找一个不一定是最好的解决方案。许多称为“启发式”的算法让您以非常有效的方式找到一个好的解决方案。只需在此处查看一些示例https://en.wikipedia.org/wiki/Travelling_salesman_problem

最简单的启发式算法可能是一个贪婪的解决方案,就像总是将最近的未访问点作为下一个社会。

【讨论】:

  • 谢谢,这确实帮助我找到了解决方案。 pastebin.com/81SRjuKw 这是我的代码,算法部分转到第 39 行。
  • @NamanChikara Hum 你应该考虑使用 numpy。这将使您的代码更快更简单。
  • 我的教授告诉我也这样做,谢谢 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
相关资源
最近更新 更多