【问题标题】:Algorithm to assign task to resources将任务分配给资源的算法
【发布时间】:2014-05-19 09:43:17
【问题描述】:

给出的是任务(工作)和资源(人员)。每个任务都有一个持续时间和一个位置。每个人都有一些可用于工作的时间和一个起始位置。这是连续的,一个人可以从 8 点到 15 点有空,中间没有任何中断。创建一个算法,将任务分配给尽可能多的工作并且总旅行时间尽可能短的资源。所有地点之间的旅行时间都是已知的。工作和资源没有限制。

我可以使用哪种算法???

谢谢。

我找到的解决方案如下:

1 - 。捕获具有持续时间和本地化的任务。

。 2 - 将任务分配给同一地点的人。

。 3 - 浏览所有任务并将任务分配给未分配任何匹配任务的人 地点。

。 4 - 如果一个人没有分配任务,因为没有与其位置相匹配的工作 asiganará 他的任务是在旅行时间最短的地方。

。 5-一旦所有人都有分配的任务,那就是收集任务,分配人会去, 考虑到旅行时间最小化。

。 6 - 请记住,更多的家庭作业时间旅行时间不应超过 7 小时,因为 所有人的时间都是从 8 点到 15 点。分配任务时,您总是必须考虑这些证据 一个人。

。 7 - 如果任务 Z 是指派一个人并且因为旅行时间最短或者因为它是唯一一个 他有时间可用并且Z超过了可用的任务工作时间,通过其他人搜索一些 其中分配给 (X) 的任务,加上从分配给此人的最后一项任务开始的行程时间,以及 任务 X 的位置适合您可用的时间,Z 适合人员任务在 X 中。

【问题讨论】:

    标签: algorithm resources task


    【解决方案1】:

    嗯,这个问题肯定是NP-Hard,至少对于一般情况。

    请注意,即使您有 1 个人,并且您的工作位于不同的位置,并且您的人需要完成所有这些 - 这就是 Traveling Salesman Problem (TSP)

    正式的简化是:

    给定一个 TSP 实例,用一个资源(人)创建一个问题实例,所有这些都需要 0(或非常接近)时间,并且位置之间的距离保持不变。此问题的解决方案是原始 TSP 问题的解决方案,反之亦然。

    因此,问题是 NP-Hard,没有已知的多项式解决方案,大​​多数人认为不存在。

    一些可能的解决方案是启发式方法,例如Hill ClimbingGenetic Algorithms,或者如果您需要精确的解决方案 - 您将需要brute force - 检查所有可能性。

    抱歉这个坏消息,但至少你不会寻找不存在的东西(或者至少任何人都不知道)

    【讨论】:

    • 你应该提到 TSP 的 hold-karp dp 解决方案,它比蛮力好 O(2^n*n^2)。en.wikipedia.org/wiki/Travelling_salesman_problem
    • @VikramBhat 我不确定这个问题是否可以这么容易地减少到 TSP(相反的方法很容易,正如我所展示的那样......)
    • 我在最初的问题中添加了解决方案
    • 如果人的时间不必是连续的,则可以在 8-10 和 12-15 有一个人。解决方案是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多