2013-04-09 29 views
1

这是一个我一直在努力研究的逻辑谜题,我很好奇看到SO社区提出什么样的解决方案。我有24个随机生成的需求值,每天一个小时一个。我有一个15人的工作人员,每个人都必须在8小时内轮班工作,但可能会在一天中的任何时间开始工作。我正在寻找能够最大限度地减少24小时内供求差异的公式。结果可能与下表类似,因为该公式为员工的最佳八小时轮班中的每小时分配一个“1”。在Excel中分配需求来匹配需求

Hour Demand  Staff 1  Staff 2 ... Staff 15 Total Staff Difference 
    0  4   1   1    0   4    0 
    1  3   1   1    0   4    0 
    ...  
    23  6   0   0    1   5    1 
+0

或许在programmers.stackexchange.com上问这个问题可能更好,因为这不是一个特定的编程问题(http://stackoverflow.com/faq#questions)。 – 2013-04-09 22:33:11

回答

0

你可以尝试遗传算法:

  1. 组随机起点次,每次工作人员。
  2. 通过随机选择工作人员并将他们的开始时间移动1小时来创建新的突变
  3. 通过差异评分对每个突变进行评分并选择最佳突变。

这可能会导致局部最小值,因此最好多次使用其他随机选项来启动它。

您还需要定义差异分数。这可能是差异的总和/平均值,但也可能是最大差异。