2025年10月1日水曜日

Q.フェーズ制約の内の「フェーズタイプ」はそのフェーズにタスクが反映する意味でよいですか?

Q.

例えば、No1で作業所1早番は早番可能な職員を午前中に作業場所1のタスクを最大2名配置そしましたが、これは午後には配置しないと同義にはならず、午後に配置したくなければ、No2のように午後は禁止とすることが正解なのでしょうか?



Ans.
フェーズとは、1日内の時間区分です。このプロジェクトの場合、AMとPMの二つを定義しています。

ここで定義しているシフトのみタスクを持てます。定義されていないシフトでは、タスクを持つことは出来ません。また、上のフェーズが✓されていないフェーズでは、タスクを持つことができません。下で、タスクを定義していますが、このタスク群をを持つことができるのは、
上で定義されているシフトとフェーズのみです。


例えば、「休日」というシフトがあったとしても、上で定義されていないので、どんなフェーズでもタスクを持つことはできません。(正確には、NoTaskVarが選択されます)
上の「日勤」というシフトは、フェーズ午前と午後でチェックされているので、上のタスク群を両方のフェーズで持てます。これは、ハード制約として作用する絶対制約となります。

それ以外の意味を持ちません。その意味で、
Q.フェーズ制約の内の「フェーズタイプ」はそのフェーズにタスクが反映する意味でよいですか?
のAns.は、
Ans. はい、そうです。そのシフトとそのフェーズでタスクを持てるための必要条件です。

Q.例えば、No1で作業所1早番は早番可能な職員を午前中に作業場所1のタスクを最大2名配置そしましたが、これは午後には配置しないと同義にはならず、午後に配置したくなければ、No2のように午後は禁止とすることが正解なのでしょうか?

Ans.フェーズ定義自体は、配置する・しないということを包含していません。単純に、そのシフトとそのフェーズが✓されていなければ、そのシフトをそのフェーズでタスク群は持てない、ということだけです。なので、まず、

1)フェーズ定義で、そのシフトとフェーズでタスク群を持てるかどうかの対応表を規定する

ということが大前提となります。その上で、

2)列フェーズ制約と行フェーズ制約で、配置を書いていく

という2Stepで記述することが必要です。タスク勤務表は、シフトの他にフェーズとタスクという次元が加わることになり、勤務表作成の難易度は、シフト勤務表の数倍に上がります。シフト勤務表で、十分な経験の後、取り組まれることをお勧めします。

0 件のコメント:

コメントを投稿