2020年7月10日金曜日

アルバイトのシフト問題

Excelテンプレートから、SC3にインポートする実装を行いました。
下のフォーマットをインポートします。

そうすると、次のようなプロジェクトが自動で構築されます。
いくつかポイントがありますが、フェーズは、右上のようにシフトをガントチャートっぽく実装しています。例えば、Wというシフトは、フルタイムで働くシフト。PH12は、フェーズ01帯で働くシフトになります。タスクは、仕事1というタスクのみです。上の仕事1に対するスタッフ要求は、前回見たスタッフプロパティの縦要求と見ることもできます。なので、どこかにそのGUIを追加する必要があったのですが、タスクの予定と連動したほうが見易いと思い、右下のように実装しています。
3番目のポイントは、それらのDay毎に異なるMaxMin要求を左下で制約しています。MaxMinは、
右下を参照しているVectored Max/Minになります。

ということで、アルバイトのシフト問題を記述するのに多くの機能追加を行っています。
アルバイトの場合は、予定制約として、勤務希望を入れれば、他の制約は、殆どないのでナーススケジューリングに比べれば容易い問題です。ほぼ、Excelテンプレートさえあれば、簡単にSC3プロジェクトにインポートすることが出来、そのまま希望入力を打ち込んで任意の重みで最適解を得ることが可能です。

また、今回実装した機能を使うことにより、既存のナーススケジューリングも容易に拡張できるようになるます。また、AM/PM単位の訪問診療・訪問看護・保育勤務シフト等にも応用が出来ます。

0 件のコメント:

コメントを投稿