2024年6月18日火曜日

入りの回数が出ない

 Q 入り回数が看護師しか出ていません。なぜでしょう?


Ans.必ず原因があります。当該制約をよく見ましょう。


この制約を日本語で言ってみましょう。

今月、看護師夜勤要員の 夜(入り)回数は、最大最小回数以内、ソフト制約レベル7であること。

はい、もう一度言ってみましょう。

今月、看護師夜勤要員の 夜(入り)回数は、最大最小回数以内、ソフト制約レベル7であること。

もう分かりましたね。看護師夜勤要員しか制約していない、ということです。その他の人は、制約していません。看護師夜勤要員は、マウスホイールボタンを押すことで上のように表示されます。ここでは、お名前を消していますが、5人の方の名前が表示されています。

マウスホイールボタンを持っていない方は、今すぐ買ってください。スケジュールナースで制約を確認するには必須です。


ということで、次のように変更しました。とりあえずグループ集合のみ変更してください。


夜勤要員に変更しました。当該集合でよいかどうか、必ずマウスホイールボタンでご確認ください。

<ハードエラー発生>

以下のように、公休数と、夜勤数でハードエラーが発生しました。


いままで、看護師以外は制約しなかったのが、今度は制約したことに起因するエラーと思われます。慌てず騒がず、赤丸をダブルクリックして当該制約箇所に行き、原因を考えましょう。

すると、上の公休数、夜勤数のソフトレベルが同じ7になっていて、夜勤数と公休数が関わっていることが伺えることが分かります。とりあえず、夜勤回数を制約することによって、公休数が影響を受けていそうなので、公休数と、夜勤数のレベルを分離します。具体的には、夜勤数のレベルを例えば6に(上図参照)してみます。

新しいレベル6にしたので、下図のように適用がチェックされていません。

チェックされていないと、制約は無かったことのように振舞います。


これで求解して解をあることを確認しましょう。




チェックして求解してみましょう。あれ、今度は解があります。何故でしょう?

違いは、許容エラー数です。ハードエラー発生時の許容エラーは、レベル7で2になっていました。しかし、今回は、Default設定の3になっています。つまり、設定値±2だったのが、今回は、±3まで許容されていたために解が合ったということです。試しにレベル6の許容エラーを元の2にして解がないことを確認してください。ハードエラー発生が再現するはずです。


なので、夜勤回数設定がまずかったということになります。許容エラー数を調整するか、設定を調整するか、どちらかが必要ですが、これから先はお任せします。


<公休数が赤>

レベル7のエラーは、赤くなります。試しにレベル7の許容エラー数を0としてみてください。解がないはずです。エラー数1では下のように解があります。つまり、公休数が設定より+1になることが物理的必然になっている、ということが分かります。


予定をみると、例えば、茶色枠で囲んだ部分に休みがないと6連勤となってハード制約違反となってしまいます。それ故この期間に必ず休みが入ります。それは、予定休み数+1を結果するということです。


以上のように、結果には必ず原因があります。

既に何回もやっていますが、時間が経つとまた忘れます。復讐ではなく復習してくださいね




0 件のコメント:

コメントを投稿