0

どのようなアプローチが必要かはわかりませんが、問題について説明させてください。

  1. 任意の数 (2 人以上) のワーカーが任意の月 (週末を含む) に勤務するようにスケジュールされているとします。
  2. 割り当てられた日に働くことができる労働者は 1 人だけです。2a. この労働者は、前日または翌日に出勤しない場合があります。
  3. 労働者は週末も働き、可能であれば労働者の数に均等に分配されます。3a. 土曜日と日曜日は均等に重み付けされます。
  4. 取得可能な休暇に割り当てる 4a. 連続する日に制限なし 4b. ルール 2 と 3 に干渉するほど多くの休暇を取ってはならない

これらの条件を並べ替える最も柔軟な方法は何ですか。このタイプの問題は何と呼ばれますか?

私がそれについて読んで学ぶことができるように、誰かが私を正しい方向に向けることができますか. 明らかに、これがアルゴリズムですでに解決されている場合は、読んで理解できるように適切な論文または本を教えてください.

明確化: 私が探しているのは、各労働者が [合計] 日数と週末に何日働くかではなく、その月の労働日数を [均等に] 分配する方法です。

例: Workers 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 日は 1 人だけで満たす必要がある 1 日および各労働者について、少なくとも 3 日のブロックごとに 1 人は働くべきである 誰も休暇日に働いてはならない 労働者が 1 か月に持つ週末の最大数は、 1+フロア以下 (週末のシフト/従業員)

于 2012-09-01T20:38:32.353 に答える