将工人分配到工作区的算法

时间:2015-11-06 20:44:14

标签: algorithm

我正在寻找一种算法,将工作人员分配到具有不同任务和工作负载的工作场所。

  1. 有几个工作场所(让他们说工厂:F1,F2)
  2. 在那个工作场所,有不同任务类型的等待工作量,每个任务的数量不同(假设在F1中,我们需要生产10个产品X,20个产品Y和30个产品Z;其他工厂F2有不同的工作量)
  3. 每个工人可以执行一种或多种工作负载类型(W1可以生产产品X,W2可以生产产品X和Y,W3可以生产Y和Z),为了简单起见,我们假设所有工人都具有相同的技能并且产品需要相同的时间来制作。
  4. 该算法必须适用于任何非零数量的工作场所,任务类型和工作人员。显然,如果工作场所多于工作人员,则算法必须在迭代中运行。当一个工作场所的工作完成后,工人将被重新平衡到不同的工作场所,剩下一些工作。
  5. 是否有一种有效的算法,可以将工人分配到工作场所以最大限度地缩短生产时间?我认为它适合匈牙利算法,但我认为这不是同一个问题。

    感谢您的任何指示。

1 个答案:

答案 0 :(得分:0)

我认为使用匈牙利算法的问题在于整个过程可能需要多次迭代。如果你用匈牙利语算法提供了每个工人有N份副本的问题版本,也许你可以找到N次迭代的最佳时间表。

在这种情况下,您可以尝试N = 1,2,4 ...直到找到一个有效的N然后在此N和最高N之间进行二进制切换尝试不起作用(N / 2)以找到最小值可以解决问题的N值。