我目前正在解决路由问题,我必须为工人创建每日计划以修理某些设备。每次安装200,000台设备,一个工人只能工作8个小时。目标是每天做出最佳路线;因此,需要优化他每天必须访问的不同点之间的距离,但是每个安装的优先级也受到限制。实际上,每个安装的优先级都在0到1之间,并且优先级较高的点应被赋予较高的权重。
在尝试实施某些解决方案(https://developers.google.com/optimization/routing/tsp)时,我只是在寻找一些建议,但是由于我有很多要点,因此导致计算时间过长。
谢谢。
最诚挚的问候,
查尔斯
答案 0 :(得分:0)
如您所知,您的问题没有完美的答案,但是也许我可以指导您的研究:
您可以根据需要自定义这两种算法。
希望有用!
答案 1 :(得分:0)
由于所描述问题的规模大,几乎不可能针对每种情况实现最佳解决方案。您可以尝试基于mixed integer programming的内容,尤其是在TSP或vehicle routing problem中,但是我认为这对您来说不起作用。
至少在我看来,您应该尝试的是解决TSP / VRP的启发式方法:tabu search,simulated annealing,hill climbing。给定足够的时间和适当的约束集,这些方法之一将产生“足够好”的解决方案,这比随机猜测要好得多。看看类似Google OR-Tools
的东西答案 2 :(得分:0)
这是一个巨大的问题。在解决之前,您需要将其聚集成较小的子问题。我们已经应用了复杂的模糊聚类技术,以实验方式解决了20,000个位置问题。对于200,000,您可能需要按地理区域(例如邮政编码/邮政编码)进行汇总,然后才能尝试运行某种类型的集群以将其拆分。另外,您可能只想首先根据地理位置尝试进行硬分裂。