0

我不确定需要哪种方法,但让我描述一下问题:

  1. 给定任意数量的工人(2 名或更多)计划在任何给定月份(包括周末)工作。
  2. 只有一名工人可以在指定的日期工作。2a。该工人可能在前一天或后一天不工作。
  3. 工人也在周末工作,如果可能的话,平均分配给工人的数量。3a。周六和周日的权重相同。
  4. 分配可能的假期4a。对连续天数没有限制 4b。可能不会放太多会干扰规则 #2 和 #3 的假期

对这些标准进行排序的最灵活方法是什么。这种类型的问题叫什么?

有人可以指出我正确的方向,以便我可以阅读和了解它。显然,如果这是已经通过算法解决的问题,请将我指向正确的论文或书籍,以便我可以阅读和理解它。

澄清:我不是在寻找每个工人将工作多少天和周末,而是一种[平均]分配当月工作天数的方法。

例如工人ABC;请求的假期 17 到 20

显然,除了我在下面列出的示例之外,还有其他排列。

        M  T  W  Th F  Sa Su
        ====================
October 1  2  3  4  5  6  7
2012    A  B  C  A  B  C  A

        8  9 10 11 12 13 14
        B  C  A  B  C  A  B

       15 16 17 18 19 20 21
        C  A  B  C  B  C  A

       22 23 24 25 26 27 28
        B  A  C  A  C  B  C

       29 30 31
        A  B  A
4

1 回答 1

0

使用单纯形算法。您可以这样编程约束:

每天需要由一个人填补 对于每一天,对于每个工人,他们应该在每三天的时间段中至少工作一次不超过1层(周末轮班/工人)

于 2012-09-01T20:38:32.353 回答