飲食店を例に離散イベントシミュレーションを実施してみました(離散系シミュレーション? その3)
皆さんこんにちは。
株式会社ITAGEの田辺です。
以前「離散シミュレーション」に関するブログを作成しました。
詳しくはこちら
今回は実際に”モデル”を用意してシミュレーションを実施してみます。
離散シミュレーション?
リンク先はとても長いので、こちらでも概要だけ記載します。
離散シミュレーションとは
「離散的な現象をその特性を模したモデルを用い分析すること」
です。
…?
よくわからないですね。
飲食店での例
例を用意すれば理解はかなり楽になります。
今回は飲食店の例です。

目的
ランチタイムのお客さんを捌き切れる店員数Xは何人かを検証する
今回は上記をシミュレーションの目的にします。
これは離散シミュレーションが適しているといえます。
「離散」とは連続の反対でバラバラに存在することを指します。
離散シミュレーションは離散するイベントの蓄積を再現し結果を知ることができます。
再現したものを”モデル”と呼び目的に応じ必要な要素を再現します。
モデル
飲食店の離散イベントは、
ランダムなタイミングで1以上の人数でお客さんが現れる「来店」
来店後にしか起こりえない行動(来店→案内→着席)
ランダムなタイミングで稀に複数回行われいずれかの選択肢が選ばれる「注文」
注文後にしか起こりえない行動(注文→調理→提供)
提供後にしか起こりえない行動(食事→会計)
などです。
いずれもそれぞれが独自に実行し、タイミングと時間は定まっていません。
このような機能を再現したモデルを作成します。
分析
作成したモデルを動かし、その結果を確認します。
今回は
ランチタイムのお客さんを捌き切れる店員数Xは何人かを検証する
ですので、店員の人数を変更します。
実際にやってみる
思ったより概要が長かったですが、今回のブログでは上記の飲食店シミュレーションを実施します。
株式会社ITAGEでは「Emulate3D」という物流業・製造業向け離散シミュレーターを販売しています。

Emulate3Dで再現したモデルがこちら
Emulate3Dは業界向けのシミュレーターなので、飲食店のシミュレーションには向いていません。今回は考え方を抽象化して、お客さんをコンベヤ上のワークと見做します。

おもな設定項目はこういったものです。

処理の流れはこんな感じです。

実践
今回は店員1名と3名で比較してみます。
KPIとして店員の稼働率と食べ終えたお客さんの人数を計測します。
結果
結果は数値が表形式で出力されます。
シミュレーション内にグラフや数をリアルタイムに描画することもできます。
今回はピークを捌ける人数なので2時間のシミュレーションを実施し顧客は絶え間なく訪れる設定にしました。
結果はこんな感じです。

…。
……。
………やはりワンオペはよくないですね。
今回は簡易的な離散シミュレーションなので、オーダーが複数回発生することや来店間隔は設定していません。
「していない」だけであり現実の要素を部分的に再現する(=モデル作成)シミュレーターはそういった精緻なシミュレーション、より細かなKPIの取得が可能です。
(かといって追い込みすぎもよくないです。その辺の内容はその1やその2をご覧ください)
物流業・製造業における
シミュレーションの価値
今回は敢えて不向きな内容に取り組む、というよくわからないチャレンジ精神を見せました。しかしながら、
今回のお客さんの動きはライン生産のワークと殆ど同一であるといえます。
また、店員さんの動きは異常系の確認を行う作業者や、工程間搬送を行うAGVの動きと似通っています。
“離散的”や”シミュレーション”と言われると身構えてしまいますが、その核心は存外ありふれたものです。
故にすべからく離散シミュレーションは製造業や物流業の課題解決に適しているのです。

