2023年9月2日土曜日

新しい記述スタイル

 介護施設のシフト勤務表のつくりかた (nurse-scheduling-software.com)

積極的にスタッフ毎のシフトとタスク集合を集合記述に使って記述します。

これを使うと、個別にシフトとタスクを禁止する記述が不要になります。


さらに、このグループ集合を使って、制約します。

月が変わると、スタッフ毎のシフトタスクを変更する場合もありますが、従来だと、先月部でハードエラーが生じることがありました。それが、オプションをEnableすることによって、Conflict部は予定がソフト制約になるので、ハードエラーが生じることはなくなります。
今後の記述は、全てこのスタイルを推奨していきます。従来スタイルも引き続きサポートしているので、記述変更する必要はありません。

なお、上記記事を動画にしてプロモーション動画をつくる予定です。


2023年9月1日金曜日

AUG282023ビルド版配信中

 昨日の時点で、私のPCのうち3/4台が新しい版に置き換わっていたので、おそらく、今週中には、配信が完了すると思います。完了後は、制約FAQSのサンプルもダウンロード可能になるのでご利用ください。

追加機能・Notes

1) タスクカウント

https://www.nurse-scheduling-software.com/japanese/manuals/user_manuals/chapter10#task_count

https://schedule-nurse.blogspot.com/2023/08/blog-post_20.html

https://schedule-nurse.blogspot.com/2023/08/blog-post_23.html

時間割作成問題タスク版 (nurse-scheduling-software.com)

2) リフレッシュ

3) Group集合名にスタッフプロパティのシフトとタスクを追加

https://schedule-nurse.blogspot.com/2023/08/blog-post_19.html

https://schedule-nurse.blogspot.com/2023/09/blog-post_72.html

4) スタッフプロパティのシフトとタスク 先月部の矛盾する予定をソフト制約化

https://schedule-nurse.blogspot.com/2023/08/blog-post_18.html

https://schedule-nurse.blogspot.com/2023/08/blog-post_17.html

介護施設のシフト勤務表のつくりかた (nurse-scheduling-software.com)

5)フェーズパターンのNOT禁止

https://schedule-nurse.blogspot.com/2023/08/not.html



2023年8月31日木曜日

勤怠管理ソフトと連携させたい

 勤怠管理ソフトと連携させたい (nurse-scheduling-software.com)

という要求は、あるかもしれません。「そのソフトがExcelでの入出力を許容していれば」という条件付きのお話です。

Excelでも任意フォーマットの出力は、可能ですが、現状遅すぎるのでCSVで出力することをお勧めします。任意フォーマットに対応可能となります。

2023年8月30日水曜日

前日同じチームに日勤者がいること

 前日同じチームに日勤者がいること (nurse-scheduling-software.com)

病棟内では、チームに分かれることがあります。仮にチームA/Bとしましょう。看護師長を除くとチームの人数は、各々12名程度となります。この条件は、日曜日が最も厳しくなり、何も制約しない状態では、前日の日勤者がいない、という状態が存在します。一人でも居れば、前日の状況が判るので、リスク管理上都合がよい、ということらしいです。

この制約は、GUIでは書けません。なのでPythonで書くことになりますが、制約部は、僅か十数行、検証部を含めても40行以下ですので、他へ移植することも容易かと思います。

2023年8月29日火曜日

数独プロジェクト追加

 数独の問題がただ一つの解を持つことの証明 (nurse-scheduling-software.com)

シフト勤務表では、求解回数が効きます。前回とは異なる解を求めようとするので、2つめの解がないということは、1解しか存在しない、ということの証明になります。

その昔、池上先生のベンチマークについて、池上先生のベンチマーク上の解はどの程度存在するかについて、お聞きしたことがあります。少なくとも100万以上は実際に存在するのだそうです。

しかし、例えば、SchedulingBenchmarksのInstance15を見ると、そんなにもあるはずがないと思います。恐らく一桁台だろうと思います。

問題の難しさは、解空間/探索空間 に反比例するであろうと思うので、その意味では、池上先生のベンチマークは、易しい部類に入り、解きようによっては時間がかからないのだと思います。しかしながら、Instance15は、探索空間も広いし、解も少ないということで、難しい問題、時間のかかる問題ということなのだろう、と解釈しています。