蛮力或算法

时间:2012-09-01 20:25:01

标签: c# algorithm sorting restrictions

我不确定需要采用何种方法,但让我来描述问题:

  1. 鉴于任意数量的工人(2人或以上)计划在任何特定月份(包括周末)工作。
  2. 只有一名工人可以在指定日期工作。 2A。该工作人员可能无法在前一天或之后工作。
  3. 工人们也在周末工作,如果可能的话,平均分配给工人数量。 3A。星期六和星期日的体重相等。
  4. 分配可能的假期 4A。连续几天没有限制 4B。可能不会花太多假期干扰规则#2和#3
  5. 对这些标准进行排序的最灵活方法是什么。 这类问题叫什么?

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

    澄清:我不是在寻找每个工人可以工作多少[总]天和周末,而是[均匀]分配当月工作日的方式。

    E.g。工人A B C;要求休假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
    

1 个答案:

答案 0 :(得分:0)

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

每天只需要一个人填写 对于每一天和每个工人,他们应该至少每三天工作一次 没有人应该在他们的假期工作 一个工人一个月的最大周末数不应超过1 +楼(周末轮班/工人)