这是我一直在努力的一个逻辑难题,我很想知道SO社区提出了什么样的解决方案。我有24个随机生成的需求值,一天中每小时一个。我有一个15人的工作人员,他们每人必须在8小时轮班工作,但可以在一天中的任何时间开始。我正在寻找能够最大限度地减少24小时供需总量的公式。结果可能与下表类似,因为公式在员工最佳的8小时轮班中每小时分配一个“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
答案 0 :(得分:0)
您可以尝试遗传算法:
这可能导致局部最小值,因此最好用其他随机选择多次启动它。
您还需要定义差异分数。这可能是差异的总和/平均值,但也可能是最大差异。