概要
今回の記事では大規模モデルと長時間のシミュレーションについて解説します。使用するモデルは郵便業務を想定しており、投函から配達までの業務をモデル化しています。収集された郵便物は比較的短距離の地域内の輸送だけでなく、長距離の拠点間輸送を行う想定でモデルを作成ます。
完成したモデルは以下のようになります。
モデルの作成
モデルの想定
- 投函(入荷)
- 投函後に収集される
- 収集後、行先別に差立て輸送
- 地域区分局へトラック輸送後、地域区分局からの配達(長距離輸送)とより小さい集配局からの配達(短距離輸送)へ分岐
- 仕分け後、複数のルートで配達
- シミュレーション開始時に初期仕掛(作業開始時の未配達の郵便に相当)を各所に配置
- 初期掛かりを各所に配置
以上の条件を想定してモデルの作成しますが、以下の3つのブロックに分けて解説と設定を行います。
- 収集ブロック
- 地域区分局経由集配局配達ブロック
- 地域区分局配達ブロック
STEP1 プロセス図の作成
1. 収集ブロック
収集ブロックは以下の図のように、投函から郵便局内での仕分けを想定し、プロセスを配置して設定します。
入荷プロセス:
プロセス名を「投函」へ変更
置き場プロセス:
プロセス名を「ポスト投函」へ変更
組立プロセス:
プロセス名を「集配」へ変更
運搬プロセス(人):
プロセス名を「運搬」へ変更
分解プロセス:
プロセス名を「荷下ろし」へ変更
置き場プロセス:
プロセス名を「郵便物置き場」へ変更
作業プロセス:
プロセス名を「郵便物仕分」へ変更
置き場プロセス:
プロセス名を「仕分後置き場」へ変更
加工プロセス:
プロセス名を「消印作業」へ変更
置き場プロセス:
プロセス名を「消印後置き場」へ変更
組立プロセス:
プロセス名を「差立」へ変更
置き場プロセス:
プロセス名を「差立後置き場」へ変更
組立プロセス:
プロセス名を「梱包」へ変更
置き場プロセス:
プロセス名を「発送置き場」へ変更
運搬プロセス(搬送機):
プロセス名を「トラック輸送(地域区分局行)」へ変更
置き場プロセス:
プロセス名を「到着置き場」へ変更
分解プロセス:
プロセス名を「解包」へ変更
置き場プロセス:
プロセス名を「パレット置き場」へ変更
検品プロセス:
プロセス名を「仕分」へ変更
分岐プロセス:
プロセス名を「区分局仕分」へ変更
分岐先として2つのプロセスを設置:
置き場プロセス:
プロセス名を「仕分後パレット置き場」へ変更
置き場プロセス:
プロセス名を「仕分後パレット置き場」へ変更
2. 地域区分局経由集配局配達ブロック
このブロックは以下のようにプロセスを配置し設定します。集配ブロックから分岐し、地域区分局間の輸送を行った上で、更に集配局Aと集配局Bに分岐した後、配達を行うことを想定しています。配達は集配局A側が配達ルートAと配達ルートB、集配局B側が配達ルートCと配達ルートDに更に分岐して行います
置き場プロセス(再掲):
プロセス名を「仕分後パレット置き場」へ変更
組立プロセス:
プロセス名を「梱包」へ変更
運搬プロセス(搬送機):
プロセス名を「トラック輸送(地域区分局間)」へ変更
置き場プロセス:
プロセス名を「到着置き場」へ変更
分解プロセス:
プロセス名を「解包」へ変更
置き場プロセス:
プロセス名を「パレット置き場」へ変更
組立プロセス:
プロセス名を「梱包」へ変更
置き場プロセス:
プロセス名を「発送置き場」へ変更
検品プロセス:
プロセス名を「仕分」へ変更
分岐プロセス:
プロセス名を「集配局仕分け」へ変更
分岐先として2つのプロセスを設置:
置き場プロセス:
プロセス名を「仕分後パレット置き場」へ変更
集配局Aへ
置き場プロセス:
プロセス名を「仕分後パレット置き場」へ変更
集配局Bへ
集配局A
置き場プロセス(再掲):
プロセス名を「仕分後パレット置き場」へ変更
運搬プロセス(搬送機):
プロセス名を「トラック輸送(集配局A行)」へ変更
置き場プロセス:
プロセス名を「到着置き場」へ変更
分解プロセス:
プロセス名を「解包」へ変更
置き場プロセス:
プロセス名を「パレット置き場」へ変更
分解プロセス:
プロセス名を「仕分」へ変更
置き場プロセス:
プロセス名を「仕分済郵便物置き場」へ変更
加工プロセス:
プロセス名を「配送仕分」へ変更
置き場プロセス:
プロセス名を「配達郵便物置き場」へ変更
検品プロセス:
プロセス名を「仕分」へ変更
分岐プロセス:
プロセス名を「行先仕分」へ変更
配達ルートAとBに分岐
分岐先として2つのプロセスを設置:
置き場プロセス:
プロセス名を「仕分後置き場」へ変更
配達ルートAへ
置き場プロセス:
プロセス名を「仕分後置き場」へ変更
配達ルートBへ
配達ルートA
置き場プロセス(再掲):
プロセス名を「仕分後置き場」へ変更
分解プロセス:
プロセス名を「配達」へ変更
運搬プロセス(人):
プロセス名を「運搬」へ変更
出荷プロセス:
プロセス名を「到着」へ変更
配達ルートB
置き場プロセス(再掲):
プロセス名を「仕分後置き場」へ変更
分解プロセス:
プロセス名を「配達」へ変更
運搬プロセス(人):
プロセス名を「運搬」へ変更
出荷プロセス:
プロセス名を「到着」へ変更
集配局B
置き場プロセス(再掲):
プロセス名を「仕分後パレット置き場」へ変更
運搬プロセス(搬送機):
プロセス名を「トラック輸送(集配局B行)」へ変更
置き場プロセス:
プロセス名を「到着置き場」へ変更
分解プロセス:
プロセス名を「解包」へ変更
置き場プロセス:
プロセス名を「パレット置き場」へ変更
分解プロセス:
プロセス名を「仕分」へ変更
置き場プロセス:
プロセス名を「仕分済郵便物置き場」へ変更
加工プロセス:
プロセス名を「配送仕分」へ変更
置き場プロセス:
プロセス名を「配達郵便物置き場」へ変更
検品プロセス:
プロセス名を「仕分」へ変更
分岐プロセス:
プロセス名を「行先仕分」へ変更
配達ルートCとDに分岐
分岐先として2つのプロセスを設置:
置き場プロセス:
プロセス名を「仕分後置き場」へ変更
配達ルートCへ
置き場プロセス:
プロセス名を「仕分後置き場」へ変更
配達ルートDへ
配達ルートC
置き場プロセス(再掲):
プロセス名を「仕分後置き場」へ変更
分解プロセス:
プロセス名を「配達」へ変更
運搬プロセス(人):
プロセス名を「運搬」へ変更
出荷プロセス:
プロセス名を「到着」へ変更
配達ルートD
置き場プロセス(再掲):
プロセス名を「仕分後置き場」へ変更
分解プロセス:
プロセス名を「配達」へ変更
運搬プロセス(人):
プロセス名を「運搬」へ変更
出荷プロセス:
プロセス名を「到着」へ変更
3. 地域区分局配達ブロック
このブロックでは以下のようにプロセスを配置し設定します。集配ブロックから分岐し、地域区分局間から直接配達を行うことを想定しています。配達は配達ルートEと配達ルートFに分岐して行います。
置き場プロセス(再掲):
プロセス名を「仕分後パレット置き場」へ変更
組立プロセス:
プロセス名を「梱包」へ変更
運搬プロセス(搬送機):
プロセス名を「トラック輸送(地域区分局間)」へ変更
置き場プロセス:
プロセス名を「到着置き場」へ変更
分解プロセス:
プロセス名を「解包」へ変更
置き場プロセス:
プロセス名を「パレット置き場」へ変更
分解プロセス:
プロセス名を「仕分」へ変更
置き場プロセス:
プロセス名を「仕分済郵便物置き場」へ変更
加工プロセス:
プロセス名を「配送仕分」へ変更
置き場プロセス:
プロセス名を「配達郵便物置き場」へ変更
検品プロセス:
プロセス名を「仕分」へ変更
分岐プロセス:
プロセス名を「行先仕分」へ変更
配達ルートEとFに分岐
分岐先として2つのプロセスを設置:
置き場プロセス:
プロセス名を「仕分後置き場」へ変更
配達ルートEへ
置き場プロセス:
プロセス名を「仕分後置き場」へ変更
配達ルートFへ
配達ルートE
置き場プロセス(再掲):
プロセス名を「仕分後置き場」へ変更
分解プロセス:
プロセス名を「配達」へ変更
運搬プロセス(人):
プロセス名を「運搬」へ変更
出荷プロセス:
プロセス名を「到着」へ変更
配達ルートF
置き場プロセス(再掲):
プロセス名を「仕分後置き場」へ変更
分解プロセス:
プロセス名を「配達」へ変更
運搬プロセス(人):
プロセス名を「運搬」へ変更
出荷プロセス:
プロセス名を「到着」へ変更
STEP2 パラメーターの設定
1. 収集ブロック
001投函:
パーツの入荷情報を1日に3回の集配を想定してCSVファイルに以下のように記述し詳細設定から読み込みするか、手動で設定
csvファイル例
time,name,count
0,郵便物,15000
480,郵便物,10000
1440,郵便物,15000
1920,郵便物,10000
2880,郵便物,15000
3360,郵便物,10000
4320,郵便物,15000
4800,郵便物,10000
5760,郵便物,15000
6240,郵便物,10000
002ボスト投函:
容量を「50000個」と設定
003集配:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「100人」と設定
対象品目を「郵便物」、個数を「300個」、
出力品目を「郵便袋」、個数を「1個」と設定
004運搬:
最大運搬量を「50個」、人数を「20人」、搬送時間を「30分」と設定
005荷下ろし:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」と設定
対象品目を「郵便袋」、個数を「1個」、
出力品目を「郵便物」、個数を「300個」と設定
006郵便物置き場:
容量を「50000個」、
初期仕掛品目を「郵便物」、個数を「10000個」と設定
007郵便物仕分:
1回あたりの処理時間を「1分」と設定、
対象品目を「郵便物」、個数を「300個」と設定
008仕分後置き場:
容量を「50000個」と設定
009消印作業:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」と設定
対象品目を「郵便物」、個数を「1000個」、
出力品目を「消印付郵便物」、個数を「1000個」と設定
010消印後置き場:
容量を「50000個」と設定
011差立:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「1分」、人数を「10人」と設定
対象品目を「消印付郵便物」、個数を「500個」、
出力品目を「パレット」、個数を「1個」と設定
012差立後置き場:
容量を「10000個」、
初期仕掛品目を「パレット」、個数を「20個」と設定
013梱包:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」と設定
対象品目を「パレット」、個数を「10個」、
出力品目を「トラック」、個数を「1個」と設定
014発送置き場:
容量を「1000個」と設定
015トラック輸送(地域区分局行):
最大積載量を「1個」、台数を「10台」、搬送時間を「480分」と設定
016到着置き場:
容量を「1000個」と設定
017解包:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」、
対象品目を「トラック」、個数を「1個」、
出力品目を「パレット」、個数を「10個」と設定
018パレット置き場:
容量を「1000個」と設定
019仕分:
1回あたりの処理時間を「0分」、不良品率を「50%」と設定
020区分局仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
分岐条件:
条件1:
対象品目:正常:パレット
送り先:021仕分後パレット置き場
条件2:
対象品目:不良:パレット
送り先:069仕分後パレット置き場
2. 地域区分局経由集配局配達ブロック
021置き場プロセス:
容量を「1000個」と設定
022梱包:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、作業人数を「10人」と設定
対象品目を「パレット」、個数を「10個」、
出力品目を「トラック」、個数を「1個」と設定
023トラック輸送(地域区分局間):
最大積載量を「1個」、台数を「10台」、搬送時間を「480分」と設定
024到着置き場プロセス:
容量を「1000個」と設定
025解包:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」と設定
対象品目を「トラック」、個数を「1個」、
出力品目を「パレット」、個数を「10個」と設定
026パレット置き場:
容量を「1000個」、
初期仕掛品目を「パレット」、個数を「10個」と設定
027梱包:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」と設定
対象品目を「パレット」、個数を「10個」、
出力品目を「トラック」、個数を「1個」と設定
028発送置き場:
容量を「1000個」と設定
029仕分:
1回あたりの処理時間を「0分」、不良品率を「50%」と設定
030集配局仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
分岐条件:
条件1:
対象品目:正常:トラック
送り先:031仕分後パレット置き場
条件2:
対象品目:不良:トラック
送り先:050仕分後パレット置き場
集配局A
031パレット置き場:
容量を「1000個」と設定
032トラック輸送(集配局A行):
最大積載量を「1個」、台数を「10台」、搬送時間を「180分」」と設定
033到着置き場:
容量を「1000個」と設定
034解包:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」と設定
対象品目を「トラック」、個数を「1個」、
出力品目を「パレット」、個数を「10個」と設定
035パレット置き場:
容量を「1000個」と設定
036仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「パレット」、個数を「1個」、
出力品目を「消印付郵便物」、個数を「500個」と設定
037仕分済郵便物置き場:
容量を「20000個」、
初期仕掛品目を「消印付郵便物」、個数を「5000個」と設定
038配送仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「消印付郵便物」、個数を「300個」、
出力品目を「配達袋」、個数を「1個」と設定
039配達郵便物置き場:
容量を「1000個」と設定
040仕分:
1回あたりの処理時間を「0分」、不良品率を「50%」と設定
041行先仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
配達ルートAとBに分岐
分岐条件:
条件1:
対象品目:正常:配達袋
送り先:042仕分後置き場
条件2:
対象品目:不良:配達袋
送り先:046仕分後置き場
配達ルートA
042仕分後置き場:
容量を「1000個」と設定
043配達:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「配達袋」、個数を「1個」、
出力品目を「消印付郵便物A」、個数を「300個」と設定
044運搬:
最大積載量を「100個」、人数を「10人」、搬送時間を「60分」と設定
045到着:
特に設定なし
配達ルートB
046仕分後置き場:
容量を「1000個」と設定
047配達:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「配達袋」、個数を「1個」、
出力品目を「消印付郵便物B」、個数を「300個」と設定
048運搬:
最大積載量を「100個」、人数を「10人」、搬送時間を「60分」と設定
049到着:
特に設定なし
集配局B
050仕分後パレット置き場:
容量を「1000個」と設定
051トラック輸送(集配局B行):
最大積載量を「1個」、台数を「10台」、搬送時間を「180分」と設定
052到着置き場:
容量を「1000個」と設定
053解包:
処理時間を「10分」、作業人数を「10人」と設定
対象パーツ名称を「トラック」、個数を「1個」、
出力パーツ名称を「パレット」、個数を「10個」と設定
054パレット置き場:
容量を「1000個」と設定
055仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、作業人数を「10人」と設定
対象品目を「パレット」、個数を「1個」、
出力品目を「消印付郵便物」、個数を「500個」と設定
056仕分済郵便物置き場:
容量を「20000個」、
初期仕掛品目を「消印付郵便物」、個数を「5000個」と設定
057配送仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「消印付郵便物」、個数を「300個」、
出力品目を「配達袋」、個数を「1個」と設定
058配達郵便物置き場:
容量を「1000個」と設定
059仕分:
1回あたりの処理時間を「0分」、不良品率を「50%」と設定
060行先別仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
配達ルートCとDに分岐
分岐条件:
条件1:
対象品目:正常:配達袋
送り先:061仕分後置き場
条件2:
対象品目:不良:配達袋
送り先:065仕分後置き場
配達ルートC
061仕分後置き場:
容量を「1000個」と設定
062配達:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「配達袋」、個数を「1個」、
出力品目を「消印付郵便物C」、個数を「300個」と設定
063運搬:
最大積載量を「100個」、人数を「10人」、搬送時間を「60分」と設定
064到着:
特に設定なし
配達ルートD
065仕分後置き場:
容量を「1000個」と設定
066配達:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「配達袋」、個数を「1個」、
出力品目を「消印付郵便物D」、個数を「300個」と設定
運搬:
最大積載量を「100個」、人数を「10人」、運搬時間を「60分」と設定
068到着:
特に設定なし
3. 地域区分局配達ブロック
070梱包
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」と設定
対象品目を「パレット」、個数を「10個」、
出力品目を「トラック」、個数を「1個」と設定
071トラック輸送(地域区分局間):
最大積載量を「1個」、人数を「10台」、運搬時間を「180分」と設定
072到着置き場:
容量を「1000個」と設定
073解包:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「10分」、人数を「10人」と設定
対象品目を「トラック」、個数を「1個」、
出力品目を「パレット」、個数を「10個」と設定
074パレット置き場:
容量を「1000個」、
詳細設定より初期仕掛品目を「パレット」、個数を「10個」と設定
075仕分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「パレット」、個数を「1個」、
出力品目を「消印付郵便物」、個数を「500個」と設定
076仕分済郵便物置き場:
容量を「20000個」、
初期仕掛品目を「消印付郵便物」、個数を「5000個」と設定
077配送区分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「消印付郵便物」、個数を「300個」、
出力品目を「配達袋」、個数を「1個」と設定
078配達郵便物置き場:
容量を「1000個」と設定
079仕分:
1回あたりの処理時間「0分」、不良品率を「50%」と設定
080行先区分:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
配達ルートEとFに分岐
分岐条件:
条件1:
対象品目:正常:配送袋
送り先:081仕分後置き場
条件2:
対象品目:不良:配送袋
送り先:085仕分後置き場
配達ルートE
081仕分後置き場:
容量を「1000個」と設定
082配達:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「配達袋」、個数を「1個」、
出力品目を「消印付郵便物E」、個数を「300個」と設定
083運搬:
最大積載量を「100個」、人数を「10人」、搬送時間を「60分」と設定
084到着:
特に設定なし
配達ルートF
085仕分後置き場:
容量を「1000個」と設定
086配達:
ウィンドウ最大化から詳細設定に入り、作業員にチェック、1人あたりの処理時間を「60分」、人数を「10人」と設定
対象品目を「配達袋」、個数を「1個」、
出力品目を「消印付郵便物F」、個数を「300個」と設定
087運搬:
最大積載量を「100個」、人数を「10」、運搬時間を「60分」と設定
088到着:
特に設定なし
シミュレーション
モデルを作成したら、シミュレーションの準備を行います。今回は1週間の業務日である5日に相当する7200分間のシミュレーションを行ってみます。
シミュレーションが終わると以下のようにダッシュボードで情報を表示して確認することが出来ます。上手く表示されない場合は設定を見直してください。*分岐条件にランダム変数が含まれるため、結果が一致しないことがあります。また、モデルが大きく、流れるパーツ数が多いためシミュレーション終了まで時間がかかる場合があります。
まとめ
今回は郵便業務を想定した大規模なモデルの解説を行いました。assimeeでは簡単な操作によるモデル作成と、パラメーター設定により、業務プロセスを容易にシミュレーションすることが可能です。今回行ったように5日間と比較的長い期間のシミュレーションであっても短時間で気軽に実行可能で、繰り返し行うことが出来るため、業務改善に非常に役立つと考えられます。