フェーズが1しかないプロジェクトは、シフト勤務表としても実現が可能です。
しかし、シフト数が25を超えるような状態は、求解速度の観点から好ましくありません。
例えば、工場の場合、多くの工程があります。一人のスタッフに着目した場合、全ての工程を担当できることはなく、担当可能な工程は限られていると思われます。そのような性質を持つ場合は、シフトではなくタスクとして実装した方が、求解速度は上がります。
(シフトは、内部的には、全てのスタッフが全てのシフト状態を保持します。シフト数が大きくなると、指数関数的にメモリが大きくなりキャッシュヒット率が低下することが懸念されます。)
スキル定義の例
以下の例は、工場の担当可能な工程作業を表しています。このように、多くのタスクがあるけれども、一人のスタッフが担当可能なタスクは数個に限定される場合は、シフトとして実装するよりもタスクとして実装した方が効果的です。
サンプルは、充填プロジェクトです。
以前は、集積、供給、包装をシフトとして持っていたものを1フェーズタスク勤務表に書き直したプロジェクトになります。
1勤が、日勤で、2勤が夜勤になります。1勤務を、勤務1、供給、集積、包装、目視のタスクに分解定義しています。充填プロジェクトでのタスク数は少ないので、前述の効果はありませんが、タスクの変動(目視検査等の追加)に対しては、強い構造となります。
下は、シフト解とタスク解になります。シフトの1勤だけに、タスク群が割り当てられているのが分かります。
0 件のコメント:
コメントを投稿