2024年10月31日木曜日

Q. 長日勤と夜勤の数を同じにしたい

 Ans.

次のように記述します。


この制約ページは、次のようにすることで出現します。詳しくは、
行制約 の同値カウント制約をご参照ください。



2024年10月30日水曜日

Q 各種勤務時間、年7、年6、年5...等、沢山勤務体系としては存在するのですが、どのように記述すればよいでしょうか?

 Ans. 

どれをシフトにして、どれをその別名とするかは、何を管理対象とするか?に依存します。

例えば、その日の日勤者を何名以上、という風にしたい場合は、日勤という勤務を管理する必要があることになります。その場合、何を日勤と定義するか?は、職場に依存します。フルタイムで働く場合に、日勤とするのは依存ないと思います。時間休が1時間の場合の記号「年7」、時間休が2時間の「年6」を、日勤者のカウントに入れる場合は、日勤の別名にすればよいでしょう。要するに、日勤者としてカウントする勤務をシフト「日勤」に代表させて、別名ラベルを割り当てれば良い訳です。

一方、日勤とはカウントしたくない勤務、例えば「年2」があったとすれば、「研修」というシフトを用意しておいて、その別名として、「年2」としておくとよいでしょう。「研修」を日勤者カウントしないようにしておけば、目的の管理が実現できるでしょう。

このように、何を管理対象とするか?でシフトの定義が変わってきます。例えば、管理単位が「半日」もしくは、「時間」であれば、シフト定義を変える必要があります。

しかし、通常の制約は、日勤者数、夜勤者数といった単純な仕様が殆どだと思いますので、最初に述べた方法で良いと思います。別名を駆使して、シフト状態数を減らすことは、求解速度の面で好ましいです。



2024年10月29日火曜日

Q..予定長日勤以外ですが、解は年休になっていました。どこの設定でこうなるのか教えて下さい。

 Ans.長日勤以外は、下記のように「でない」演算子で、記述されています。


この、「でない」演算子は、長日勤以外の全てが対象になります。なので、長日以外の全てのシフトが対象になります。年休が出るのを防ぐには、次のように追加します。長日または年休、「でない」という演算となり、長日でも年休でもない という風に限定されます。その他も同様です。 


2024年10月28日月曜日

Q.予定ラベル「産」が出てくるようになりました。出てこないようにするには?

 Ans. シフト「産」は、自動割り当てのチェックがされていません。なので、単独では、割り当てられることはありません。


しかし、シフト集合では、演算子によって、割り当てられることがあります。
下図の設定では、「産」は出力されることがある設定になります。




これを出ないようにするには、次のように演算子を「または」にします。こうすると自動割り当て設定されていないシフトが割り当てられることはありません。

2024年10月26日土曜日

Q. おかしな解になるのですが..?

 Ans. 「解がない」状態の解データは、全く意味がありません。参照しても全く意味がないので見ないでください。大事なことは「解がない状態」の原因となっている「ハード制約の矛盾」を取り除くことです。

<原因解析の仕方>

1)予定を全クリアし、予定なしでは解があることを確認します。この段階で「解がない」のなら制約上の問題です。菅原システムズが提供するプロジェクトファイルでは、この問題はないはずです。(予定がクリアされた状態では必ず解があるように設定・設計されています。)解があれば、予定の問題である可能性が高くなります。2)に進みます。

2)求解ページの赤字メッセージをよく見ます。

下図の状態は、既に「解がない」ことを表しています。これが出た状態の解は意味がないので見ないでください。


ハード制約の矛盾要因が列挙されます。この要因は、ヒントです。必ずしも、それが原因である、とは言えませんが、何某かの関係がある部分となります。

ここで共通しているのは、11月2/3日に要員が集中しているので、その日もしくは周辺の列制約が怪しい、ということが分かります。

赤丸をダブルクリックすると、当該制約が表示されます。





いずれも、ハード制約であることに注意してください。予定部分も全てハード制約となります。「解がない」原因はハード制約間の矛盾です。

確かに予定を見ると、当該日は、多くの休みで埋まっています。お医者さまの当直表でも同じ11月2日付近に予定が集中し解がない状態になっていました。同様に、「予定が入りすぎ」の可能性が高いので、

この部分11月2-4日をソフト制約化して様子を見ます。



ソフト制約化した部分は、枠の色が変わります。
求解し、解を確認します。
予定部分が変更されているので、変更されている箇所を表示しています。

今回は、ハード制約間の矛盾を予定の変更で取り除きました

一方、予定を絶対に変更しない、すなわちハード制約のままとしたい場合には、列制約をソフト化してもOKです。考え方によっては、行制約をソフト化(長日の後も働いてもらう)することもあるでしょう。
要は、ハード制約間の矛盾を取り除けば良い訳です。大抵は、一つ取り除けば十分です。
どれがフィットするかは、職場毎に違うでしょうし、看護師長の考え方やスタッフの都合等の要因でも違うでしょう。私もどれが正解かは言えません。








2024年10月25日金曜日