郵便業務モデルの作成の解説

assimeeによるモデル作成方法やプロセス、最適化方法についてのより深い理解のため、この記事を読む前にモデル作成の基礎を解説している以下の記事を先にご覧いただくことをことをお勧めします。

概要

今回の記事では非常に大規模なモデルの作成について解説します。使用するモデルは郵便業務を想定しており、投函から配達までの業務をモデル化しています。完成したモデルは以下のようになります。

モデルの作成

モデルの想定

  1. 投函にて入荷
  2. 投函後に収集される
  3. 収拾後、行先別に差立
  4. 地域区分局へトラック輸送後、地域区分局からの配達とより小さい集配局からの配達へ分岐
  5. 仕分け後、複数のルートで配達
  6. シミュレーション開始時に初期仕掛(作業開始時の未配達の郵便に相当)を各所に配置

モデルの作成は以下の3つのブロックに分けて解説と設定を行います。

  • 収集ブロック
  • 地域区分局経由集配局配達ブロック
  • 地域区分局配達ブロック

収集ブロック

収集ブロックは以下の図のように、投函から郵便局内での仕分けを想定し、プロセスを配置して設定します。

入荷プロセス:
プロセス名を「000投函」へ変更、
パーツの入荷情報を1日に3回の集配を想定してCSVファイルに以下のように記述。詳細設定から読み込み


time,name,count
0,郵便物,15000
480,郵便物,10000
1440,郵便物,15000
1920,郵便物,10000
2880,郵便物,15000
3360,郵便物,10000
4320,郵便物,15000
4800,郵便物,10000
5760,郵便物,15000
6240,郵便物,10000

置き場プロセス:
プロセス名を「001ポスト投函」へ変更、容量を「50000個」と設定

組立プロセス:
プロセス名を「002集配」へ変更、処理時間を「60分」、作業人数を「100人」、
対象パーツ名称を「郵便物」、個数を「300個」、
出力パーツ名称を「郵便袋」、個数を「1個」と設定

運搬プロセス(人):
プロセス名を「003運搬」へ変更、積荷容量を「50個」、運搬時間を「30分」、運搬人数を「20人」と設定

分解プロセス:
プロセス名を「004荷下ろし」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「郵便袋」、個数を「1個」、
出力パーツ名称を「郵便物」、個数を「300個」と設定

置き場プロセス:
プロセス名を「005郵便物置き場」へ変更、容量を「50000個」、
詳細設定から初期仕掛かり名称を「郵便物」、個数を「10000個」と設定

作業プロセス:
プロセス名を「006郵便物仕分」へ変更、処理時間を「0分」、作業人数を「1人」と設定

置き場プロセス:
プロセス名を「007仕分後置き場」へ変更、容量を「50000個」と設定

加工プロセス:
プロセス名を「008消印作業」へ変更、処理時間を「10分」、作業人数を「1人」、
対象パーツ名称を「郵便物」、個数を「1000個」、
出力パーツ名称を「消印付郵便物」、個数を「1000個」と設定

置き場プロセス:
プロセス名を「009消印後置き場」へ変更、容量を「50000個」と設定

組立プロセス:
プロセス名を「010差立」へ変更、処理時間を「1分」、作業人数を「10人」、
対象パーツ名称を「消印付郵便物」、個数を「500個」、
出力パーツ名称を「パレット」、個数を「1個」と設定

置き場プロセス:
プロセス名を「011差立後置き場」へ変更、容量を「10000個」、
詳細設定より初期仕掛かり名称を「パレット」、個数を「20個」と設定

組立プロセス:
プロセス名を「012バンニング」へ変更、処理時間を「10分」、作業人数を「10人」、
対象パーツ名称を「パレット」、個数を「10個」、
出力パーツ名称を「トラック」、個数を「1個」と設定

置き場プロセス:
プロセス名を「013発送置き場」へ変更、容量を「1000個」と設定

運搬プロセス(AGV):
プロセス名を「014トラック運搬(地域区分局行)」へ変更、積荷容量を「1個」、運搬時間を「480分」、運搬台数を「10台」と設定

置き場プロセス:
プロセス名を「015到着置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「016荷解」へ変更、処理時間を「10分」、作業人数を「10人」、
対象パーツ名称を「トラック」、個数を「1個」、
出力パーツ名称を「パレット」、個数を「10個」と設定

置き場プロセス:
プロセス名を「017パレット置き場」へ変更、容量を「1000個」と設定

検品プロセス:
プロセス名を「018仕分」へ変更、不良品率を50%、処理時間を「0分」、作業人数を「1人」と設定

分岐プロセス:
プロセス名を「019区分局仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定

分岐先として2つのプロセスを設置:

置き場プロセス:
プロセス名を「100仕分後パレット置き場」へ変更、容量を「1000個」と設定

置き場プロセス:
プロセス名を「300仕分後パレット置き場」へ変更、容量を「1000個」と設定

分岐条件:
条件1:
・送り先:100仕分後パレット置き場
・分岐条件:パーツステータスが一致
・パーツステータス:正常
条件2:
・送り先:300仕分後パレット置き場
・分岐条件:パーツステータスが一致
・パーツステータス:不良

地域区分局経由集配局配達ブロック

このブロックは以下のようにプロセスを配置し設定します。集配ブロックから分岐し、地域区分局間の輸送を行った上で、更に集配局Aと集配局Bに分岐した後、配達を行うことを想定しています。配達は集配局A側が配達ルートAと配達ルートB、集配局B側が配達ルートCと配達ルートDに更に分岐して行います

置き場プロセス(再掲):
プロセス名を「100仕分後パレット置き場」へ変更、容量を「1000個」と設定

組立プロセス:
プロセス名を「101バンニング」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「パレット」、個数を「10個」、
出力パーツ名称を「トラック」、個数を「1個」と設定

運搬プロセス(AGV):
プロセス名を「102トラック輸送(地域区分局間)」へ変更、積荷容量を「1個」、運搬時間を「480分」、運搬人数を「10台」と設定

置き場プロセス:
プロセス名を「103到着置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「104デバンニング」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「トラック」、個数を「1個」、
出力パーツ名称を「パレット」、個数を「10個」と設定

置き場プロセス:
プロセス名を「105パレット置き場」へ変更、容量を「1000個」、
詳細設定より初期仕掛かり名称を「パレット」、個数を「10個」と設定

分解プロセス:
プロセス名を「106バンニング」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「パレット」、個数を「10個」、
出力パーツ名称を「トラック」、個数を「1個」と設定

置き場プロセス:
プロセス名を「107発送置き場」へ変更、容量を「1000個」と設定

検品プロセス:
プロセス名を「108仕分」へ変更、不良品率を50%、処理時間を「0分」、作業人数を「1人」と設定

分岐プロセス:
プロセス名を「109集配局仕分け」へ変更、処理時間を「60分」、作業人数を「10人」と設定

分岐先として2つのプロセスを設置:

置き場プロセス:
プロセス名を「110仕分後パレット置き場」へ変更、容量を「1000個」と設定
集配局Aへ

置き場プロセス:
プロセス名を「210仕分後パレット置き場」へ変更、容量を「1000個」と設定
集配局Bへ

分岐条件:
条件1:
・送り先:110仕分後パレット置き場
・分岐条件:パーツステータスが一致
・パーツステータス:正常
条件2:
・送り先:210仕分後パレット置き場
・分岐条件:パーツステータスが一致
・パーツステータス:不良

集配局A

置き場プロセス(再掲):
プロセス名を「110仕分後パレット置き場」へ変更、容量を「1000個」と設定

運搬プロセス(AGV):
プロセス名を「111トラック輸送(集配局A行)」へ変更、積荷容量を「1個」、運搬時間を「180分」、運搬人数を「10台」と設定

置き場プロセス:
プロセス名を「112到着置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「113デバンニング」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「トラック」、個数を「1個」、
出力パーツ名称を「パレット」、個数を「10個」と設定

置き場プロセス:
プロセス名を「114パレット置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「115仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「パレット」、個数を「1個」、
出力パーツ名称を「消印付郵便物」、個数を「500個」と設定

置き場プロセス:
プロセス名を「116仕分済郵便物置き場」へ変更、容量を「20000個」、
詳細設定より初期仕掛かり名称を「消印付郵便物」、個数を「5000個」と設定

加工プロセス:
プロセス名を「117配送仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「消印付郵便物」、個数を「300個」、
出力パーツ名称を「配達袋」、個数を「1個」と設定

置き場プロセス:
プロセス名を「118配達郵便物置き場」へ変更、容量を「1000個」と設定

検品プロセス:
プロセス名を「119仕分」へ変更、不良品率を50%、処理時間を「0分」、作業人数を「1人」と設定

分岐プロセス:
プロセス名を「120行先仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定
配達ルートAとBに分岐

分岐先として2つのプロセスを設置:

置き場プロセス:
プロセス名を「121仕分後置き場」へ変更、容量を「1000個」と設定
配達ルートAへ

置き場プロセス:
プロセス名を「131仕分後置き場」へ変更、容量を「1000個」と設定
配達ルートBへ

分岐条件:
条件1:
・送り先:121仕分後置き場
・分岐条件:パーツステータスが一致
・パーツステータス:正常
条件2:
・送り先:131仕分後置き場
・分岐条件:パーツステータスが一致
・パーツステータス:不良

配達ルートA

置き場プロセス(再掲):
プロセス名を「121仕分後置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「122配達」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「配達袋」、個数を「1個」、
出力パーツ名称を「消印付郵便物A」、個数を「300個」と設定

運搬プロセス(人):
プロセス名を「123運搬」へ変更、積荷容量を「100個」、運搬時間を「60分」、運搬人数を「10人」と設定

出荷プロセス:
プロセス名を「124到着」へ変更

配達ルートB

置き場プロセス(再掲):
プロセス名を「131仕分後置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「132配達」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「配達袋」、個数を「1個」、
出力パーツ名称を「消印付郵便物B」、個数を「300個」と設定

運搬プロセス(人):
プロセス名を「133運搬」へ変更、積荷容量を「100個」、運搬時間を「60分」、運搬人数を「10人」と設定

出荷プロセス:
プロセス名を「134到着」へ変更

集配局B

置き場プロセス(再掲):
プロセス名を「210仕分後パレット置き場」へ変更、容量を「1000個」と設定

運搬プロセス(AGV):
プロセス名を「211トラック輸送(集配局B行)」へ変更、積荷容量を「1個」、運搬時間を「180分」、運搬人数を「10台」と設定

置き場プロセス:
プロセス名を「212到着置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「213デバンニング」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「トラック」、個数を「1個」、
出力パーツ名称を「パレット」、個数を「10個」と設定

置き場プロセス:
プロセス名を「214パレット置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「215仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「パレット」、個数を「1個」、
出力パーツ名称を「消印付郵便物」、個数を「500個」と設定

置き場プロセス:
プロセス名を「216仕分済郵便物置き場」へ変更、容量を「20000個」、
詳細設定より初期仕掛かり名称を「消印付郵便物」、個数を「5000個」と設定

加工プロセス:
プロセス名を「217配送仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「消印付郵便物」、個数を「300個」、
出力パーツ名称を「配達袋」、個数を「1個」と設定

置き場プロセス:
プロセス名を「218配達郵便物置き場」へ変更、容量を「1000個」と設定

検品プロセス:
プロセス名を「219仕分」へ変更、不良品率を50%、処理時間を「0分」、作業人数を「1人」と設定

分岐プロセス:
プロセス名を「220行先仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定
配達ルートCとDに分岐

分岐先として2つのプロセスを設置:

置き場プロセス:
プロセス名を「221仕分後置き場」へ変更、容量を「1000個」と設定
配達ルートCへ

置き場プロセス:
プロセス名を「231仕分後置き場」へ変更、容量を「1000個」と設定
配達ルートDへ

分岐条件:
条件1:
・送り先:221仕分後置き場
・分岐条件:パーツステータスが一致
・パーツステータス:正常
条件2:
・送り先:231仕分後置き場
・分岐条件:パーツステータスが一致
・パーツステータス:不良

配達ルートC

置き場プロセス(再掲):
プロセス名を「221仕分後置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「222配達」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「配達袋」、個数を「1個」、
出力パーツ名称を「消印付郵便物C」、個数を「300個」と設定

運搬プロセス(人):
プロセス名を「223運搬」へ変更、積荷容量を「100個」、運搬時間を「60分」、運搬人数を「10人」と設定

出荷プロセス:
プロセス名を「224到着」へ変更

配達ルートD

置き場プロセス(再掲):
プロセス名を「231仕分後置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「232配達」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「配達袋」、個数を「1個」、
出力パーツ名称を「消印付郵便物D」、個数を「300個」と設定

運搬プロセス(人):
プロセス名を「233運搬」へ変更、積荷容量を「100個」、運搬時間を「60分」、運搬人数を「10人」と設定

出荷プロセス:
プロセス名を「234到着」へ変更

地域区分局配達ブロック

このブロックでは以下のようにプロセスを配置し設定します。集配ブロックから分岐し、地域区分局間から直接配達を行うことを想定しています。配達は配達ルートEと配達ルートFに分岐して行います。

置き場プロセス(再掲):
プロセス名を「300仕分後パレット置き場」へ変更、容量を「1000個」と設定

組立プロセス:
プロセス名を「301バンニング」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「パレット」、個数を「10個」、
出力パーツ名称を「トラック」、個数を「1個」と設定

運搬プロセス(AGV):
プロセス名を「302トラック輸送(地域区分局間)」へ変更、積荷容量を「1個」、運搬時間を「180分」、運搬人数を「10台」と設定

置き場プロセス:
プロセス名を「303到着置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「304デバンニング」へ変更、処理時間を「10分」、作業人数を「10人」と設定、
対象パーツ名称を「トラック」、個数を「1個」、
出力パーツ名称を「パレット」、個数を「10個」と設定

置き場プロセス:
プロセス名を「305パレット置き場」へ変更、容量を「1000個」、
詳細設定より初期仕掛かり名称を「パレット」、個数を「10個」と設定

分解プロセス:
プロセス名を「306仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「パレット」、個数を「1個」、
出力パーツ名称を「消印付郵便物」、個数を「500個」と設定

置き場プロセス:
プロセス名を「307仕分済郵便物置き場」へ変更、容量を「20000個」、
詳細設定より初期仕掛かり名称を「消印付郵便物」、個数を「5000個」と設定

加工プロセス:
プロセス名を「308配送仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「消印付郵便物」、個数を「300個」、
出力パーツ名称を「配達袋」、個数を「1個」と設定

置き場プロセス:
プロセス名を「309配達郵便物置き場」へ変更、容量を「1000個」と設定

検品プロセス:
プロセス名を「310仕分」へ変更、不良品率を50%、処理時間を「0分」、作業人数を「1人」と設定

分岐プロセス:
プロセス名を「311行先仕分」へ変更、処理時間を「60分」、作業人数を「10人」と設定
配達ルートEとFに分岐

分岐先として2つのプロセスを設置:

置き場プロセス:
プロセス名を「312仕分後置き場」へ変更、容量を「1000個」と設定
配達ルートEへ

置き場プロセス:
プロセス名を「322仕分後置き場」へ変更、容量を「1000個」と設定
配達ルートFへ

分岐条件:
条件1:
・送り先:312仕分後パレット置き場
・分岐条件:パーツステータスが一致
・パーツステータス:正常
条件2:
・送り先:322仕分後パレット置き場
・分岐条件:パーツステータスが一致
・パーツステータス:不良

配達ルートE

置き場プロセス(再掲):
プロセス名を「312仕分後置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「313配達」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「配達袋」、個数を「1個」、
出力パーツ名称を「消印付郵便物E」、個数を「300個」と設定

運搬プロセス(人):
プロセス名を「314運搬」へ変更、積荷容量を「100個」、運搬時間を「60分」、運搬人数を「10人」と設定

出荷プロセス:
プロセス名を「315到着」へ変更

配達ルートF

置き場プロセス(再掲):
プロセス名を「322仕分後置き場」へ変更、容量を「1000個」と設定

分解プロセス:
プロセス名を「323配達」へ変更、処理時間を「60分」、作業人数を「10人」と設定、
対象パーツ名称を「配達袋」、個数を「1個」、
出力パーツ名称を「消印付郵便物F」、個数を「300個」と設定

運搬プロセス(人):
プロセス名を「324運搬」へ変更、積荷容量を「100個」、運搬時間を「60分」、運搬人数を「10人」と設定

出荷プロセス:
プロセス名を「325到着」へ変更

シミュレーション

モデルを作成したら、シミュレーションの準備を行います。今回は約4日に相当する7200分間のシミュレーションを行います。長時間になるとビンが細かくなりすぎるため、以下のように編集画面からシミュレーション時の時間窓を8時間に相当する480分へ変更してください。

変更後、再度保存し、7200分の設定でシミュレーションを行うと以下のような図が表示されます。上手く表示されない場合は設定を見直してください。*分岐条件にランダム変数が含まれるため、結果が一致しないことがあります。また、モデルが大きく、流れるパーツ数が多いためシミュレーション終了まで時間がかかる場合があります。

まとめ

今回は郵便業務を想定した大規模なモデルの解説を行いました。assimeeでは今回作成したような複雑で大規模なモデルの作成やシミュレーション、最適化を簡単な操作で行うことが可能です。今後、今回作成したモデルを使用したプロセス最適化を解説を予定しています。ご期待ください。

関連記事