具有大量点和一个约束的路由问题

时间:2019-04-26 06:27:10

标签: python optimization operations-research

我目前正在解决路由问题,我必须为工人创建每日计划以修理某些设备。每次安装200,000台设备,一个工人只能工作8个小时。目标是每天做出最佳路线;因此,需要优化他每天必须访问的不同点之间的距离,但是每个安装的优先级也受到限制。实际上,每个安装的优先级都在0到1之间,并且优先级较高的点应被赋予较高的权重。

在尝试实施某些解决方案(https://developers.google.com/optimization/routing/tsp)时,我只是在寻找一些建议,但是由于我有很多要点,因此导致计算时间过长。

谢谢。

最诚挚的问候,

查尔斯

3 个答案:

答案 0 :(得分:0)

如您所知,您的问题没有完美的答案,但是也许我可以指导您的研究:

  • Alpha-Beta pruning:我一直在使用它来减少AI玩Hex游戏的可能性。
  • A* pathfinding:我一直在使用它来模拟一个类似于未来派超回路的基于胶囊的网络,作为Dijkstra算法的补充。

您可以根据需要自定义这两种算法。

希望有用!

答案 1 :(得分:0)

由于所描述问题的规模大,几乎不可能针对每种情况实现最佳解决方案。您可以尝试基于mixed integer programming的内容,尤其是在TSPvehicle routing problem中,但是我认为这对您来说不起作用。

至少在我看来,您应该尝试的是解决TSP / VRP的启发式方法:tabu searchsimulated annealinghill climbing。给定足够的时间和适当的约束集,这些方法之一将产生“足够好”的解决方案,这比随机猜测要好得多。看看类似Google OR-Tools

的东西

答案 2 :(得分:0)

这是一个巨大的问题。在解决之前,您需要将其聚集成较小的子问题。我们已经应用了复杂的模糊聚类技术,以实验方式解决了20,000个位置问题。对于200,000,您可能需要按地理区域(例如邮政编码/邮政编码)进行汇总,然后才能尝试运行某种类型的集群以将其拆分。另外,您可能只想首先根据地理位置尝试进行硬分裂。