どのようなアプローチが必要かはわかりませんが、問題について説明させてください。
- 任意の数 (2 人以上) のワーカーが任意の月 (週末を含む) に勤務するようにスケジュールされているとします。
- 割り当てられた日に働くことができる労働者は 1 人だけです。2a. この労働者は、前日または翌日に出勤しない場合があります。
- 労働者は週末も働き、可能であれば労働者の数に均等に分配されます。3a. 土曜日と日曜日は均等に重み付けされます。
- 取得可能な休暇に割り当てる 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