2020年7月18日土曜日

シフト勤務表とタスク勤務表

今まで、色々な勤務表を見てきたのですが、大別すると、シフト勤務表とタスク勤務表に分類されます。

 今まで手がけてきた勤務表は、以下になります。
メインは、2交代3交代勤務表ですが、夜勤シフトが入らない勤務表も求められるようになりました。

そこで、登場したのが、タスクという概念です。これは、INRC2での記述をするときに導入したものです。シフトとタスクの混在でしたが、DayObjectという統一概念までには、至っていませんでした。

そこで、Refactoring を行い、今回、新たにDayObjectという概念を作りました。1日のDayは、Shift
とTaskで記述され、DayObject上で、結びつけられ、統一的に記述できます。なので、DayObjectは、Shiftの集合でもあり、Taskの集合でもあります。シフトの概念を拡張したものと考えてもよいです。

ただし、Algorithm4は、根底から構築しなおした方がよいとの結論に達しました。今のところ、Algorithm4の優位性は、コンペティション以外にはないのですが、必要になる可能性は、否定できないので、今回のRefactoringがまとまった後に再構築することにしました。

いずれにしても、今回のRefactoringにより、タスク勤務表が容易に記述できる効果の他に、シフト勤務表を拡張することも容易になります。シフトもタスクもどちらもDayObject上にあるので、相互の拡張が容易になります。多分、このShiftとTaskをDayObjectに融合するフレームワークは、学会でも報告がなく新しいと思います。このフレームワークにより、全ての勤務表を記述出来ると思います。



タスク勤務表シフト勤務表
訪問診療2交代勤務表(病棟・介護) 
訪問介護3交代勤務表(正循環・逆循環)
保育勤務表SchedulingBenchmark
アルバイト勤務表放送局
看護師応援割り当て派遣業務
3直4交代工場
INRC2 Benchmarks
TaskShift
DayObject
 PhaseObject Aggregates
 PhaseObjectTaskTaskAggregates
Shift
Shift Aggregates

0 件のコメント:

コメントを投稿