AGV台数最適化の方法の解説

概要

今回の記事では小規模な工場を模したモデルを対象に、運搬に使われるAGV(搬送機)台数を出荷目標に合わせて最適化する方法について解説します。

モデルの作成

まず、モデルを作成します。下図が今回使用するモデルとなります。小規模な工場を想定して、検品と廃棄、配送先仕分けのための分岐プロセスを2か所含んでいます。プロセスは入荷→置き場→加工→検品→分岐(廃棄ルート:置き場→運搬(AGV)→加工→出荷)→置き場→運搬(AGV)→分岐→置き場→運搬(AGV)→出荷の各プロセスからなります。

モデルの作成

モデルを作成していきます。「図から作成」ボタンを押して編集画面を立ち上げた後、各プロセスを配置していきます。モデルには分岐プロセスが2か所含まれるので、まず1番目の分岐プロセスまでを設置し、以下のような設定を行います。
今回は入荷後の置き場プロセスで初期仕掛かりを利用してみます。初期仕掛かりはシミュレーションの開始時に置き場に置いてある在庫の数を指定する機能です。

STEP1 プロセス図の作成

入荷プロセス:
特に変更なし

置き場プロセス:
プロセス名称を「入荷品置き場」へ変更

加工プロセス:
特に変更なし

検品プロセス:
特に変更なし

分岐プロセス:
プロセス名称を「良品選択」へ変更

良品選択以降

分岐プロセス「良品選択」後は出荷と廃棄の2つにプロセスを分けて設置して行きます。

(出荷)置き場プロセス:
プロセス名称を「製品置き場」に変更

(出荷)運搬(搬送機):
プロセス名称を「製品運搬」へ変更

(出荷)分岐プロセス:
プロセス名称を「出荷先別仕分け」へ変更

(廃棄)置き場プロセス:
プロセス名称を「廃棄品置き場」へ変更

(廃棄)運搬(搬送機):
プロセス名称を「廃棄品運搬」へ変更

(廃棄)加工プロセス:
プロセス名称を「破壊」へ変更

(廃棄)出荷プロセス:
プロセス名称を「廃棄」へ変更

出荷先別仕分け以降

分岐プロセス「出荷先別仕分け」後はXセンター行き、Yセンター行きと上下2つにプロセスを分けて設置して行きます。

(Xセンター行き)置き場プロセス:
プロセス名称を「Xセンター向け置き場」へ変更

Xセンター行き)運搬(搬送機):
プロセス名称を「Xセンター向け製品運搬」へ変更

Xセンター行き)出荷プロセス:
プロセス名称を「Xセンター向け出荷」へ変更

Yセンター行き)置き場プロセス:
プロセス名称を「Yセンター向け置き場」へ変更

Yセンター行き)運搬(搬送機):
プロセス名称を「Yセンター向け製品運搬」へ変更

Yセンター行き)出荷プロセス:
プロセス名称を「Yセンター向け出荷」へ変更

STEP2 パラメーターの設定

001 入荷:
品目を「部品」へ変更、個数を「40個」、発生間隔を「2分」と設定

002 入荷品置き場:
容量を「1000個」と設定
詳細設定より初期仕掛品目を「部品」、個数を「100個」と設定

003 加工:
下図のようにウインドウ最大化から詳細設定に入り、
対象品目を「部品」、個数を「10個」、
出力品目を「製品」、個数を「1個」と設定
作業員にチェックを入れて、1人あたりの処理時間を「1分」、人数を「100人」と設定

004 検品:
不良品率を「10%」と設定
ウインドウ最大化から詳細設定に入り、作業員にチェックを入れて、1人あたりの処理時間を「1分」、人数を「200人」と設定

005 良品選択:
分岐条件1:対象品目「正常:製品」、送り先「製品置き場」
分岐条件2:対象品目「不良:製品」、送り先「廃棄品置き場」
ウインドウ最大化から詳細設定に入り、作業員にチェックを入れて、1人あたりの処理時間を「1分」、人数を「200人」と設定

006 製品置き場:
容量を「1000個」に設定

007 製品運搬:
最大積載量を「20個」、台数を「1台」、運搬時間(片道)を「10分」に設定

008 出荷先別仕分:
出荷条件はランダム(変更なし)(*ランダムにすることで、接続されているプロセスにランダムに割り振られます)
ウインドウ最大化から詳細設定に入り、作業員にチェックを入れて、1人あたりの処理時間を「1分」、人数を「100人」と設定

015 廃棄品置き場:
容量を「1000個」に設定

016 廃棄品運搬:
最大積載量を「50個」、台数を「5台」、搬送時間(片道)を「1分」に設定

017 破壊:
対象品目を「製品」、個数を「1個」に設定
出力品目を「廃棄物」、個数を「1個」に設定
ウインドウ最大化から詳細設定に入り、作業員にチェックを入れて、1人あたりの処理時間を「1分」、人数を「10人」と設定

018 破棄:
特に設定なし

009 Xセンター向け置き場:
容量を「1000個」に設定

010 Xセンター向け製品運搬:
最大積荷量を「100個」、台数を「10台」、搬送時間(片道)を「1分」に設定

011 Xセンター向け出荷:
特に設定なし

012 Yセンター向け置き場:
容量を「1000個」に設定

013 Yセンター向け製品運搬
最大積荷量を「100個」、台数を「10台」、搬送時間(片道)を「1分」に設定

014 Yセンター向け出荷:
特に設定なし

シミュレーション

モデルの作成が終わったら、シミュレーション時間を「360分」に設定してシミュレーションを行います。上記の設定が上手く行っていれば、下記のような画面が表示されます。表示されない場合は設定を見直してください。
*今回のシミュレーションには不良品率や出荷別仕分にランダム変数が含まれるため結果が毎回変動します。また、凡例をクリックすることで、使用しないデータをOFFにすることが出来ます。

AGV台数最適化

次に最適化を行ってみましょう。上で作ったモデル(レポート)をレポート一覧で確認し、「新しい課題を開始」を押して新しい課題を開始します。今回も見える化を選びます。
*レポートの名前には(コピー)が添付されます。この名前はレポート保存時に変更することが出来ます。

AGVの台数を最適化するので、パラメーター推定を選択します。

次へを押すと最適化対象の選択画面が表示されるので、最適化するプロセスカードを選択します。今回は「007製品運搬」を選択します。

最適化対象を選んだら、パラメーターの上限値と下限値を設定します。
今回は上限値を「15」、下限値を「1」としました。

次にパラメーターの設定で出荷目標を設定します。

出荷目標の設定

次に出荷目標を想定します。今回は3か所に出荷プロセスがありますが、全てに目標を設定することが必要です。まず、「011Xセンター向け出荷」と「014Yセンター向け出荷」に以下のデータを読み込ませます。今回は2つのセンター向けに同量の出荷を行います。

timeitemcount
60製品50
120製品50
180製品50
240製品50
300製品50
360製品50

この時csvファイルの内容は以下の通りとなります。

time,item,count
60,製品,50
120,製品,50
180,製品,50
240,製品,50
300,製品,50
360,製品,50

作成したファイルを編集画面から読み込ませた後、「018廃棄」にもデータを設定します。今回は出荷データを直接入力を利用してデータを設定してみましょう。
「018廃棄」の設定ボタンを押すと入力画面が表示されるので、表にデータを入力します。今回は廃棄物の行の全ての列に0を入力します。+ボタンを押すと列が追加されるので、360分までの列を追加して0を入力します。入力が終わったら保存ボタンを押します。

これで準備が整ったので、AGVの台数の最適化を行います。次へを押すと最適化が始まります。最適化の時間設定は出荷目標が設定された範囲に自動で設定されます。

assimeeの運搬(搬送機)プロセスではAGV用のブースは1レーンで、最大輸送量XのAGVが1台ずつ、順番に荷積みを行い(荷積み、荷下ろし時間を設定可能)列を作って輸送を行う仕様になっています。よって、複数のレーンがある場合や、AGVが列車状に並んで輸送する場合は、最大輸送量や搬送時間などで調整を行ってください。

最適化の実行

最適化中は以下の画面が表示されます。画面を閉じても最適化の計算は継続されます。
また、最適化をキャンセルボタンを押すことで、操作を取り消すことも可能です。

最適化が終了するとダッシュボードが表示されます。

AGV台数最適化の結果の確認

サマリーから見たい結果を選んで、ダッシュボードにドラッグアンドドロップすることでグラフを確認できます。ここでは「最適化結果」、「累積生産推移」、「生産推移」、「ライン別生産数」を表示させてみます。
AGVの台数が1台から14台へ増加し、やや、出荷数が大きくなっていますが、出荷目標が達成されていることが生産推移のグラフから分かります。累積生産推移では廃棄物が合算されているため、生産数と出荷データを比較するとずれが実際より大きく見えます。*今回は出荷別仕分にランダムの要素があるため、最適化結果がピッタリになりにくい条件となっています。

まとめ

今回は運搬プロセスの内、AGVの台数を対象に最適化を行い、出荷目標が達成できるようにすることができました。assimeeではAGVでは台数の他に積載容量や運搬時間(片道)をパラメータとして最適化することも可能です。この他、人やローラーコンベア、ベルトコンベア等、それぞれ特製の異なる多彩な運搬手段を利用することが可能となっています。

関連記事