0

使用Google OR-Tools结合资源调度解决车辆路径问题的最佳方法是什么?

情况是一些站点需要 1 名工人,而另一些则需要许多工人。例如,一次现场访问需要 1 名具有 A 技能的现场技术人员。而其他一些需要:2 名现场技术人员,一名具有 A 技能,另一个具有 B 技能。第三个站点需要 1 名具有 B 技能的现场技术人员。

我不想将工人分配到组;因为在某些情况下会浪费时间。

该案例非常通用,假设可以处理任何复杂性的所有案例。但是,目前的站点数量是数十万个站点,当前的工人在数百或数千个,技能数量在10个以上。

4

2 回答 2

1

在解决它之前,您需要显着简化它。

鉴于大小,您可能需要能够以某种方式将其拆分为不同的子问题。车辆路线问题分解很棘手,但有一些研究论文在那里。

工作有时需要一名技术人员,有时需要两名技术人员很难,除非您可以进一步简化。如果你不能简化,那么你有一个“同步”的车辆路线问题(这是研究文献中使用的术语),我怀疑你可能无法仅使用 OR 工具来解决。可能的简化方法:

  • 你能假设一个由 2 名技术人员组成的团队一整天都在工作,所以你只是将他们建模为一条路线吗?因此,您有一些路线是一名技术人员,一些路线是 2 名技术人员,但是 1 名技术人员的 2 条独立路线永远不会聚集在一起做 2 名技术人员的工作?

  • 需要 2 名技术人员的工作是否会持续一整天,因此您不必为 2 名技术人员一起工作的 2x1 技术人员路线之间的独立性建模?即,如果技术人员 A 在他们一起工作之前做了另一项工作,您不必为技术人员 B 建模延迟?

  • 2 技术员的工作是否足够稀有,以至于您可以自动安排 1 技术人员的工作,然后让人类计划人员手动安排他们周围的 2 技术人员工作?

技能应该相对简单。您可能需要考虑的其他事项是:

  • 您需要一次建模多天吗?

  • 这是实时/动态车辆路线问题还是静态问题?我们的视频在这里对差异进行了简单的解释。如果您有在同一天预订的工作,或者工作的持续时间不确定(即您不知道他们需要多长时间),那么您有一个必须处理的实时路由问题/解决方法与静态情况不同。

于 2019-02-03T07:34:14.097 回答
0

你的问题有多大?(访问次数、工人数量、技能数量)

于 2019-01-28T16:42:03.607 回答