2024年12月7日土曜日

Q 日勤リーダを2-3日間ずつ、A/Bチーム各1名とするには?

 Ans.

休日も含めて、全日リーダを各1名配置した解です。


シフト「リーダ」を追加します。

列制約で、A/Bチームから各1名を設定します。なお、若手二人がリーダとならないようにしています。

リーダ回数を指定するために、グループ定義を設定します。

スタッププロパティシートで、各スタッフのリーダ回数を設定します。禁止の人は最大0、
制約なし(何回でもOK)の人はブランクにします。

行制約です。1日単リーダを禁止、4日連続を禁止とすれば、残りは、2-3日間連続のリーダとなります。また、日勤リーダの間隔が短くなりすぎないようにしています。


以上で、全日リーダ、2-3日間A/Bチーム各1名の実装が完了しました。
日勤者数管理は、リーダを含めて日勤者数とするか、リーダを含めない日勤者数とするかは、列制約による実装となります。ここでは示しませんが考えてみてください。

<平日日勤リーダのみの場合>
平日のみ日勤リーダにしたい場合は、以下を変更します。このようにすると、全てのパターンは、平日ついて作用することに注意してください。

先月部を含めるとハード制約では、矛盾が生じる可能性があるので、全てソフト制約とします。


列制約で、「今月平日」、「今月休日」を追加変更します。今月休日では、日勤リーダを不可とします。

以上の変更で、平日のみ2-3日間、日勤リーダの実装が完了しました。
下の解を見ると、休日を跨いで、2-3日間、日勤リーダが実現出来ていることが分かります。

先月休日は、リーダが割り当てられています。これは、先月予定部がフィルインされていないことと、先月休日に対しては、なんの制約もしていないためです。先月予定部がフィルインされていれば、解消するので上の制約で問題ありません。



0 件のコメント:

コメントを投稿