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

ー概要ー

今回の記事では小規模な工場を模したモデルを活用して、運搬プロセスで使われているAGV台数の最適化のやり方を解説します。

ーモデルの作成ー

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

ープロセスの配置と設定ー

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

1番目の分岐プロセスまで

入荷プロセス:
パーツ名を「部品」へ変更、発生間隔を「2分」、個数を「40個」に設定

置き場プロセス:
プロセス名称を「入荷品置き場」へ変更、容量を「1000個」に設定
詳細設定より初期仕掛かりのパーツ名を「部品」、個数を「100個」に設定

加工プロセス:
処理時間を「1分」、作業人数を「100人」に設定
対象パーツ名称を「部品」、個数を「10個」と設定、
出力パーツ名称を「製品」、個数を「1個」と設定

検品プロセス:
不良品率を「10%」、処理時間を「1分」、作業人数を「200人」へ設定

分岐プロセス:
プロセス名称を「良品選択」へ変更、処理時間を「1分」、作業人数を「200人」と設定

以上の設定が終わったら、分岐プロセス「良品選択」後の配置を行います。分岐後に上下2つにプロセスを分けて設置して行きます。2番目の分岐プロセスまでの設置と設定後に分岐プロセス「良品選択」の分岐条件を設定します。

2番目の分岐プロセスまで

(上)置き場プロセス:
プロセス名称を「製品置き場」に変更、容量を「1000個」に設定

(上)運搬(AGV等):
プロセス名称を「製品運搬」へ変更、積荷容量を「20個」、運搬時間を「10分」、運搬台数を「1台」に設定

(上)分岐プロセス:
プロセス名称を「出荷先別仕分け」へ変更、処理時間を「1分」、作業人数を「100人」に設定
出荷条件はランダム(変更なし)(*ランダムにすることで、接続されているプロセスにランダムに割り振られます)

(下)置き場プロセス:
プロセス名称を「廃棄品置き場」へ変更、容量を「1000個」に設定

(下)運搬(AGV等)プロセス:
プロセス名称を「廃棄品運搬」へ変更、積荷容量を「50個」、運搬時間を「1分」、運搬台数を「5台」に設定

(下)加工プロセス:
プロセス名称を「破壊」へ変更、処理時間を「1分」、作業人数と「10人」に設定
対象パーツ名称を「製品」、個数を「1個」に設定
出力パーツ名称を「廃棄物」、個数を「1個」に設定

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

分岐プロセス「良品選択」の分岐条件を設定
条件1:送り先「製品置き場」、分岐条件「パーツステータスが一致」、ステータス「正常」
条件2:送り先「廃棄品置き場」、分岐条件「パーツステータスが一致」、ステータス「不良」

最後に2番目の分岐プロセス「出荷先別仕分け」以降を設置します。今回はXセンターとYセンター2つの出荷先を設置します。

出荷まで

(上)置き場プロセス:
プロセス名称を「Xセンター向け置き場」へ変更、容量を「1000個」に設定

(上)運搬(AGV等):
プロセス名称を「Xセンター向け製品運搬」へ変更、積荷容量を「100個」、運搬時間を「1分」、運搬台数を「10台」に設定

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

(下)置き場プロセス:
プロセス名称を「Yセンター向け置き場」へ変更、容量を「1000個」に設定

(下)運搬(AGV等):
プロセス名称を「Yセンター向け製品運搬」へ変更、積荷容量を「100個」、運搬時間を「1分」、運搬台数を「10台」に設定

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

ーシミュレーションー

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

ーAGV台数最適化ー

出荷データの設定

次に出荷目標を想定します。今回は3か所に出荷プロセスがありますが、全てに目標を設定することが必要です。まず、出荷プロセス「Xセンター向け出荷」と「Yセンター向け出荷」に以下のデータを読み込ませます。今回は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

作成したファイルを編集画面から読み込ませた後、出荷プロセス「廃棄」にもデータを設定します。今回は出荷データを直接入力を利用してデータを設定してみましょう。
出荷プロセス「廃棄」を選択すると以下の画面が表示されます。

「出荷データを直接入力」ボタンを押すと次の画面が表示されます。

表示される表にデータを入力します。今回は廃棄品の行の全ての列に0を入力します。標準では300分までの表示なので、+ボタンを押して360分までの列を追加してここにも0を入力します。また、廃棄物以外は利用しないので「パーツ名」左に表示される「設定を削除」ボタンから条件を削除してください。

全てのデータを読み込ませた後にシミュレーション画面を再度呼び出すと以下の画面が表示され、シミュレーション結果に出荷目標が追加さます。出荷数が出荷目標を下回っていることが分かります。*廃棄物関連のシミュレーション結果とデータは表示OFFにしてあります。

これで準備が整ったので、AGVの台数の最適化を行います。assimeeの運搬(AGV)プロセスではAGV用のブースは1レーンで、輸送容量Xを持ったAGVが1台ずつ、1分ごとに順番に荷積みを行い列を作り、サイクルを回す形で輸送を行う想定になっています。よって、複数のレーンがある場合や、AGVが列車状に並んで輸送する場合は、輸送容量や平均距離で調整を行ってください。

最適化する場所の探索

出荷目標を達成するために何処を最適化すると良いのか当りを付けていきます。今回のモデルでは部品が1分間に20個入荷し、部品の加工が行われて1分間に2個の製品が完成します。順調に流れていれば、1時間に120個の製品が完成し、10%の不良品を除いても110個近い製品が出荷可能なはずです。しかし、シミュレーション結果では1時間当たり50から60個の出荷しか行われていません。よって、プロセスのどこかがボトルネックになり滞貨が発生していると考えられます。先ずはシミュレーション画面から各運搬プロセスの前に設置されている置き場4か所を確認してみましょう。

全ての置き場を確認すると「製品置き場」の在庫だけが右肩上がりで増加していることが分かります。これは下流にある「製品運搬」の運搬能力が不足しており、滞貨が発生しているためだと考えられます。そこで、今回は「製品運搬」の運搬能力を増加させるために運搬プレセスで利用するAGVの台数を増加させる最適化を行ってみましょう。

AGV台数最適化の実行

AGVの台数を最適化するにはassimeeの「モデルチューニング」を使います。「モデルチューニング」タブをクリックすると以下の画面が表示されます。

「新規モデルチューニングを実施」ボタンをクリックすると次の設定画面が表示されます。この時、目標データが入力されていないと入力を求められます。

一覧から「製品運搬」の運搬人(台)数を選択しチェックボックスにチェックを入れ、下限値を「1」、上限値を「15」と設定します。設定が終わったら「モデルチューニングを実行」ボタンをクリックしてチューニングを行ってください。

AGV台数最適化後

チューニング終了後、以下の画面が表示されます。*モデルチューニングにはランダム変数が含まれるため結果が毎回変動します。
AGVの台数が1台から12台へ増加し、出荷目標が達成されていることが分かります。*廃棄物関連のシミュレーション結果とデータは表示OFFにしてあります。

ーまとめー

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

関連記事