Ans.
次のように記述します。
Ans.
どれをシフトにして、どれをその別名とするかは、何を管理対象とするか?に依存します。
例えば、その日の日勤者を何名以上、という風にしたい場合は、日勤という勤務を管理する必要があることになります。その場合、何を日勤と定義するか?は、職場に依存します。フルタイムで働く場合に、日勤とするのは依存ないと思います。時間休が1時間の場合の記号「年7」、時間休が2時間の「年6」を、日勤者のカウントに入れる場合は、日勤の別名にすればよいでしょう。要するに、日勤者としてカウントする勤務をシフト「日勤」に代表させて、別名ラベルを割り当てれば良い訳です。
一方、日勤とはカウントしたくない勤務、例えば「年2」があったとすれば、「研修」というシフトを用意しておいて、その別名として、「年2」としておくとよいでしょう。「研修」を日勤者カウントしないようにしておけば、目的の管理が実現できるでしょう。
このように、何を管理対象とするか?でシフトの定義が変わってきます。例えば、管理単位が「半日」もしくは、「時間」であれば、シフト定義を変える必要があります。
しかし、通常の制約は、日勤者数、夜勤者数といった単純な仕様が殆どだと思いますので、最初に述べた方法で良いと思います。別名を駆使して、シフト状態数を減らすことは、求解速度の面で好ましいです。
Ans.長日勤以外は、下記のように「でない」演算子で、記述されています。
Ans. シフト「産」は、自動割り当てのチェックがされていません。なので、単独では、割り当てられることはありません。
Ans. 「解がない」状態の解データは、全く意味がありません。参照しても全く意味がないので見ないでください。大事なことは「解がない状態」の原因となっている「ハード制約の矛盾」を取り除くことです。
<原因解析の仕方>
1)予定を全クリアし、予定なしでは解があることを確認します。この段階で「解がない」のなら制約上の問題です。菅原システムズが提供するプロジェクトファイルでは、この問題はないはずです。(予定がクリアされた状態では必ず解があるように設定・設計されています。)解があれば、予定の問題である可能性が高くなります。2)に進みます。
2)求解ページの赤字メッセージをよく見ます。
下図の状態は、既に「解がない」ことを表しています。これが出た状態の解は意味がないので見ないでください。
ハード制約の矛盾要因が列挙されます。この要因は、ヒントです。必ずしも、それが原因である、とは言えませんが、何某かの関係がある部分となります。
ここで共通しているのは、11月2/3日に要員が集中しているので、その日もしくは周辺の列制約が怪しい、ということが分かります。
赤丸をダブルクリックすると、当該制約が表示されます。
確かに予定を見ると、当該日は、多くの休みで埋まっています。お医者さまの当直表でも同じ11月2日付近に予定が集中し解がない状態になっていました。同様に、「予定が入りすぎ」の可能性が高いので、
この部分11月2-4日をソフト制約化して様子を見ます。