2025年5月22日木曜日

Q.夜勤で男性のみを避けたい

 Ans.女性が1名以上居るようにします。


グループ定義を下記のように追加します。


スタッフプロパティシートを設定します。

列制約で制約します。

なお、看護師長以外の女性集合は、以下のグループ集合で作っています。

解です。


2025年5月21日水曜日

Q.準夜3人深夜2人、準夜は看護師2名としたい

 Ans.

看護師長・看護師・介助員をグループ定義で定義します。


スタッフプロパティを設定します。

列制約で制約します。

解です


2025年5月20日火曜日

Q.介助員の設定方法

 Q.介助員は、日勤をしない。準夜や早番・遅番のみを行わせたい。また、看護師は、遅番早番を行わない

Ans.

スタッフ毎のシフトで、担当しないシフトのチェックを外します。その際、「先月部には、本設定を適用しない」のオプションにチェックを入れておくのが吉です。


プロジェクト修正済です。





2025年5月19日月曜日

Q. (他の)皆さんは解を変更しないでやれているのでしょうか?

 Ans.

勤務表作成サービスで作成されたプロジェクトにおいては、特に解を変更する必要はない?と認識しております。解を変更する必要があるのは、一般には欠勤者対応により勤務の変更があったときです。(スケジュールナースの場合は、解を変更することは推奨していなくて、予定を変更することを推奨しています。)

それを除けば、特に解を変更する理由はないという認識です。もし、毎回変更する必要があるなら、それはモデリング不足の可能性が高いです。サポートまでご相談ください。


2025年5月17日土曜日

Q.本当にこんな複雑なことを皆さんやっているのですか?

 Ans.

<スケジュールナースの操作>

スケジュールナースの操作については、「そうです」という回答になります。

プロジェクトファイルが完成しているならば、勤務表作りは、従来の手作業で作るやり方と本質的には同じです。違うのは、手作業の場合は、途中解の存在があるかないか分からない状態で進むしかないのに対して、スケジュールナースの場合は、「どんなにこれから頑張ってもこれ以上良い解は、ないですよ。」という未来の解が求解で即、明示されることです。

<制約の設計・メンテナンス>

一方、スケジュールの操作とは別に、制約を設計したりメンテナンスをしていくのは、全ての方が行っているということではありません。

勤務表作成サービスを利用されている方は、初期時にその必要はありません。しかしメンテナンス上、将来あり得る変更については、そのやり方を学んで頂く必要があります。1年間という長い時間の中で、変更のご要求を受け付け、その場その場でそのやり方を学んで頂く方法に数年前から変更しました。この理由として、勤務表作成ルールは、自然に変更が発生していくものであり、結局は、ご自身で学んで頂くことが、永く使い続けることが出来ると考えたからです。それは、仕様⇒制約化⇒スケジュールに組み込みという一連の流れをご自身で行うことを意味します。

多病棟の病院では、各師長さんは、スケジュールナースを操作はしますが、基本的に制約のメンテナンスは行いません。事務部門や看護管理部門のZOOMレクチャを受けた担当者が制約のメンテナンスを行うことになります。しかしながら、クリニックや介護関係さらに個人でサブスクをご購入頂いた方は、費用上、中々そういう訳にもいかないと思いますので、ご自分で学習して頂くことが必要です。そのためのガイド本(自動勤務表: これからはじめる | 菅原孝幸 | 工学 | Kindleストア | Amazon)が出ていますので、そちらで学習して頂きたいと思います。


仕様に関しては、ソフトウェア、スケジュールナースには依存しないことに注意してください。複雑なのは、スケジュールナースではなく、仕様自体です。つまり、暗黙のうちに勤務表作成者は、大変色々な事を考えて作成しています。それを機械化するには、ルールの明示からまず始めることが必要です。実は、この部分が最も大きなバリアであって、そこを乗り越えられれば、殆ど障害はない、と言ってもよいと思います。まずは仕様から整理されることをお勧めします。

参考 

仕様とは?

https://www.nurse-scheduling-software.com/japanese/publications/lecture_notes_for_operations_of_rostering_projects.pdf#page=6

其の後に、モデリングという作業が必要になります。スケジュールナースのシフトを何にするかというのは、こちらをご覧ください。

https://www.nurse-scheduling-software.com/japanese/publications/lecture_notes_for_basic_project_file_description.pdf#page=21

2025年5月16日金曜日

Q.全く動きません

 Q,6連勤をしない、土日休みは必ずつける、2連休の間隔は14日以上あけない、夜勤間隔は3日以上あけ、できるだけ常勤の夜勤回数を平均化する等が出来ていません。



Ans.「解がない」状態となっています。「解がない」状態とは、で何か言っている状態です。「解がない」ときの解は、意味がありません。見ないでください。

「解がない」とは、ハード制約間の矛盾によって引き起こされます。具体的には、Kindle本(自動勤務表: これからはじめる | 菅原孝幸 | 工学 | Kindleストア | Amazon)を読んで頂き、ハード制約とソフト制約についてとは何か?から学んで頂く必要があります。

看護師勤務表作成は、簡単ではありません。一つ一つの制約を丹念に積み重ねる作業が必要となります。一朝一夕に出来ることはありません。これは、看護師勤務表作成の本質的複雑さに起因します。どんなにAIが発達したとしても、問題そのものの複雑さは変わりようがないことに注意してください。この問題を計算機に真面目に解かせたいならば、生半可な気持ちでは、立ちゆきません。焦らず、ゆっくりと一つ一つ理解しながら進めてください。

それでは、具体的なエラーの解消方法を説明します。

1)指摘されている制約の中身を見る

赤丸をダブルクリックして

制約の当該箇所を見ます。
土曜日に公休でないことを禁止、つまり、土曜日は公休にする、というハード制約になっていることが分かります。


もう一方も同様に、

祝日の公休は、祝休み(公休でない)を制約しています。これはやはりハード制約になっています。


以上が、解のない状態に至るヒントになります。

一方で公休である、他方で公休でないという矛盾の日が存在すれば、解がない状態となります。つまり、土曜日かつ祝日の日がある、これが原因です。

これを解消するには、どちらの制約をオフにすれば、OKです。

または、ソフト制約化を行います。
(元になったプロジェクト(病棟3交代Newは、ソフト制約化済みです。))



2025年5月14日水曜日

Q木曜日基準の週4勤務

 Q.その月で完結することはなく、木曜基準の1週間ごとに週4勤務のスタッフがいます。

Ans.

月に跨るので、完璧に行うには、端数となる週がないようにします。つまり、丸々1週間となる区間の整数倍の区間となるようにします。そのために、次のように区間の定義を変更します。

来月の最初の水曜日に制約終了日を設定します。そうすると、丁度5週間分のWEEKとなります。週4のスタッフは、来月水曜日まで制約することになります。その他の夜勤数等のカウント数制約は、今月区間(6月)に限定する必要があるので、そのように曜日集合を定義します。


実装

曜日集合の作成

制約開始日を基準にそれよりー6日まで見ると1週間になります。

その1週間の中に必ず木曜日が一つだけあります。

後は、それを基準に1Week,2ndWeekを作っていきます。
第5週まで作ります。

行制約で1週から5週まで勤務4回にハード制約しています。

カウントする制約については、青部を「今月区間」に変更しています。


数をカウントしている次も青部を変更しています。


グループ集合で週4を定義します。

週4にすると、公休数が8では、矛盾してしまうので、対象者の公休数はブランクにします。

対象者は、週4勤務になっています。


次月処理

次月は、今月分まで、予定が入ってきます。他に予定が入ってこないなら、これをそのまま利用してもよいです。また、新たにブランク予定としてしまってもよいです。その場合でも、月始めは、先月まで見て、週4となるように新たに割り振るので問題ありません。

今月部分(先月から見ると来月部分)まで作成したのは、週4勤務の解があることを保証するためです。少なくとも他の予定が入ってこなければ、解が存在することは、先月の解で保証済です。

制約終了日は、次次月水曜日とします。


制約終了日は、自動でOK(-6)です。

解を予定に送ります。

カットしてもOKです



プロジェクトは、以下です。


なお、初期プロジェクトに対して以下を修正しました。