Asprovaのスケジューリングロジック【ステータス「割付済み」の作業には何もしないため、実績や修正を反映させるため「割付解除」してリスケジュールする】

本記事の概要

リスケジュールのロジックの中で、リスト生成フェーズにてオーダテーブルからオーダリストを生成するのがオーダ収集コマンドであり、作業テーブルから作業リストを生成するのが作業収集コマンドであり、いずれも親の計画パラメタに保存されます。

コマンド実行フェーズで、オーダ展開コマンドが作業入力指図と作業出力指図を生成することで所要量展開を行い、オーダ割付/紐付けコマンドが作業使用指図を生成することで資源に対する割付を行います。

計画作成の流れ

オーダリストまたは作業リスト生成フェーズ

オーダテーブルからオーダリストを生成するのがオーダ収集で、作業テーブルから作業リストを生成するのが作業収集であり、いずれも親の計画パラメタに保存されます。

  1. オーダ収集(Prepare for assignment):オーダテーブルからオーダリストに収集
  2. オーダ絞込み(Filter orders):オーダリストから絞込み
  3. 割付け解除(Unassign all):作業リストの作業を未割付

作業絞込みは親の計画パラメタの作業絞込み条件式に設定します。

  1. 作業収集(Upload operations):作業テーブルから作業リストに収集
  2. 作業絞込み(Filter operations):作業リストから絞込み
  3. 割付け解除(Unassign all):作業リストの作業を未割付

デフォルト計画パラメタでオーダ割付/紐付けコマンドの前に「作業収集」コマンドが必要ないのは、オーダ展開コマンドで生成された作業が、親のコマンドオブジェクトであるデフォルト計画パラメタの中の作業リストに既に格納されており、再度作業テーブルから取得し直す必要はないからです。

コマンド実行フェーズ

オーダ展開(Explode orders)では、自動補充機能によってオーダリストを満たすように製造BOMを参照しながら、受注オーダの作業入力指図の不足分の製造オーダ(MPS)を補充オーダ(子)として生成し、MPSの作業入力指図の不足分の製造オーダを補充オーダ(孫)として生成します。

そしてオーダリストに格納されている登録オーダと補充オーダに対して作業入力指図と作業出力指図が生成します。

オーダ間の紐付けは、自オーダの初工程作業(作業入力指図)と前工程のオーダの最終工程作業(作業出力指図)であり、自動補充で生成された補充オーダ、または自動補充はないが製造BOMで繋がりのある製造オーダ同士が紐付けられます。

  1. BOMを参照し自動補充で補充オーダを生成
  2. オーダリストから作業リストを生成(作業入力指図と作業出力指図)
  3. オーダ間の紐付け

オーダ割付/紐付けにて、ディスパッチングルールと資源評価のプロパティを見ながら作業使用指図を生成し、作業リストから作業割付けしますが、仮割付で一旦すべての候補資源に割り付けた後、実割付で資源評価から最も評価の高い資源に割付け直します。

  1. オーダ割付/紐付け(Assign/peg orders)で作業リストから作業使用指図を生成し割付け

オーダ間の紐付がオーダ展開時とオーダ割付/紐付け時の2回行うのは、割付結果を元に再度紐付け直す必要が出るケース(在庫MINがある場合は在庫MIN分紐付けを左にずらす)があるからです。schedulingcommand

割付解除の意味

オーダー展開で作業を生成して、オーダー割付・紐付けで作業を割付けることで作業を生成した後に、計画の手修正(数量を修正など)や実績入力など作業の更新(パラメータに値を追加)があった場合、作業ステータスが「割付済み」のまま再度リスケジュールしても、オーダ展開コマンドはステータスが「割付済み」の作業には何もしないので前回と同じ結果になるだけです。

よって一旦割付解除により作業のステータスを「未割付」に戻してから、オーダ展開やオーダ割付/紐付けにより更新を反映させたスケジュールを作成します。

つまり割付解除は作業に入力された実績(実績数量・実績取得日など)を削除するのではなく、入力された実績に基づいて割付直すために必要なものです。

  1. オーダ展開でオーダリスト中のオーダの作業の割付フラグが「割付済み」であれば作業は生成しないので、オーダ展開の前に必ず割付け解除が必要。
  2. オーダ割付・紐付けで作業使用指図が生成され、ステータスが「割付済み」の作業が出来上がる。
  3. 作業に対して実績数量や実績取得日を入力するが、入力しただけではスケジュールは動かない。
  4. 作業収集と作業絞込で作業リストを生成し、割付解除により作業のステータスを「未割付」に戻す。
  5. オーダ割付・紐付けにより、3で入力した実績を反映させたスケジュールになる。

オーダ・作業・タスク・指図の関係

MTO(Make to Order)生産では確定受注がそのまま所要となりますが、MTS(Make to Stock)での確定受注はあくまでも出荷のためであり、MRPの所要として内示情報を別途インポートする必要があります。

task

全体バックワードの後、フォワードで割付直し

バックワードで割り付けた作業の開始日時を元にフォワードで朝一から割付け直しますが、複合計画パラメタでは「オーダリストからオーダ展開して作業作成」「作業リストを絞込み作業割付を行う」という子計画パラメタの階層構造をあわせる必要があります。

backforward

StartOfNextDay(ME.製造開始日時,0)の意味は「製造開始日時の0日後(NextDay)の開始(Start)」つまり割り付いている作業の製造開始日時の始業時刻を返す、つまり「バックワードで割り付けた作業全体をフォワードで割付直すが、始業時刻より前に割りついてはダメ=その日の朝一番から割り付ける」ということになります。

ちなみにStartOfNextMonthなら「製造開始日時の0ヶ月後の開始」となり月初日になります。

また朝一で開始するが体操時間15分間バッファを置きたい場合は、AdvanceAlongResourceWorkingTime(ME.主資源,StartOfNextDay(ME.製造開始日時,0),15M)のようにずらします。

そしてフォワードで割り付け直すときは、バックワードで割り付けた作業のうち開始日時の早いものから順番に割り付けていきます。

リスケジュール

全体フォワードの後、前工程のみバックワード

生産工程にボトルネックが存在する場合、フォワード割付を行うと前工程に待ち時間が発生するので、前工程のみバックワードで割付直します。

作業絞込みで前工程のみに絞ってから割付解除を行うことで、後工程の作業まで割付解除されることを防いでいます。

bottleneck

 

最新情報
お届けします

Twitter で