1

这是我一直在研究的一个逻辑难题,我很想知道 SO 社区提出了什么样的解决方案。我有 24 个随机生成的需求值,一天中的每个小时一个。我有 15 名员工,每个人必须轮班工作 8 小时,但可以在一天中的任何时间开始工作。我正在寻找能够最小化 24 小时内供需总差异的公式。结果可能类似于下表,假设该公式为员工的最佳八小时班次中的每个小时分配一个“1”。

    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
4

1 回答 1

0

你可以试试遗传算法:

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

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

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

于 2013-04-09T22:29:28.443 回答