離散系シミュレーション利用の勧め【第1回】
はじめに
“離散系シミュレーション”という言葉を聞きなれない読者も多いかもしれないが、コンピュータを使って現実を模擬するシミュレーション技術として、主に連続型のプロセスプラントの設計に使用されているプロセスシミュレーション技術(市販のプロセスシミュレーションソフトウェアとしては、Aspen Plus1)やPro-II2)が有名)と同様、過去30年以上に渡って組立加工系の製造工場や物流施設の設計でよく利用されている技術である。コンピュータの能力向上とソフトウェア技術の向上により、特に近年、“離散系シミュレーション”技術の利用が多くの産業分野で進展しており、医薬品業界についても例外ではない。そこで、本記事では3回の連載により”離散系シミュレーション“とはどのようなものか、どのような利用がされているか、どのような利益が期待できるかなどについて、医薬品業界での利用を念頭に置きながら解説し、医薬品の生産や物流に携わる諸氏が業務改善を考える上での参考として頂けることを、本記事の目的とする。
1. 離散系シミュレーションとは
離散系シミュレーションを適用する場合の分かりやすい例として、図1.に示す銀行の窓口業務を考えてみる。一般的に、新規に銀行を開設する場合には窓口数や待合室の広さなどの主要な設備設計のパラメータを決める必要があるが、1日の平均顧客数や窓口での平均サービス時間は概ね推定できているとしても、顧客の銀行への到着はランダムに発生するし、
個々の顧客に対するサービス時間も変動する。したがって、顧客の到着がピークに達する時間帯でも、顧客の待ち時間が過大で待ちスペースが混雑し顧客の不興を買うことがないようにするために、適切な窓口数と待ちスペースを確保することが重要となる。
このように時間軸上でランダムに発生する事象を前提として、定量的な設計パラメータ(この場合は窓口数や待ちスペース)を決めたい場合に、離散系シミュレーションは最も有効な手段となる。
図1.の例についての離散系シミュレーションの具体的な実行手順を図2.に示す。離散系シミュレーションでは、初期状態と変動する事象について発生確率の分布を与えることでシミュレーションを開始できる。図2.では、開店時刻を基点とし窓口数2つ、店内の顧客数ゼロを初期状態とし、顧客の到着およびサービス時間についてそれぞれの発生確率分布を与えた上で、シミュレーションを開始した場合を示している。シミュレータは、内部で自動生成する疑似乱数を使って、与えられた到着時間分布を満足するよう、図1.の時間軸上のT1, T2, T3ように顧客の到着事象を次々に発生させる。初期状態では2つの窓口は空いているので、顧客1と顧客2は直ちにサービスを受けられるが、3番目に到着した顧客3は、まだ顧客1と顧客2のサービスが終了していないため、サービス開始待ちの状態に置かれることになる。次に時刻T4で、これも疑似乱数から所定のサービス時間分布を満足するよう決められた顧客1のサービス時間が終了したので、顧客1は銀行を離れ、サービス開始待ち状態にあった顧客3のサービスが開始される。このように、離散系シミュレーションではある時刻の状態において、次に発生する可能性のある独立事象(図2.の場合は顧客の到着とサービスの終了)の内、どの事象が最も早く発生するかを調べ、最も早く発生する事象の時刻までシミュレーションを進行させる。またそれと同時に、発生した独立事象に従属して発生する事象(図2.の場合は顧客のサービス開始や出発など)を計算し記憶する。これをあらかじめ定めたシミュレーションの終了時刻まで実施する。上記の例では、1日の内の時間帯による顧客の平均到着人数の変化を考慮することで、銀行の開店から閉店までの窓口の込み具合をシミュレーションすることも可能となる。
ただし、離散系シミュレーションにおいては1回のシミュレーションは、確率的に発生する可能性のあるシステム全体の振舞いの1事例を求めたに過ぎないことに注意する必要がある。1回のシミュレーションで顧客の最大待ち人数が10人であったとしても、10人分の待ちスペースを用意すれば十分とは結論できない。なぜならば、1回のシミュレーションは、1回サイコロを振って出た目を観測したのと同じで、顧客の最大待ち人数はシミュレーションを試行する毎に変動するからである。つまり、離散系シミュレーションの目的を達成するためには、統計的に有意な結果が得られるまで複数回の試行を行って、顧客の最大待ち人数の分布の推定値を求める必要がある。この分布に基づけば、たとえば”95%の確率でそれを超える心配のない顧客の最大待ち人数”を決めることができる。
“離散系シミュレーション”という言葉を聞きなれない読者も多いかもしれないが、コンピュータを使って現実を模擬するシミュレーション技術として、主に連続型のプロセスプラントの設計に使用されているプロセスシミュレーション技術(市販のプロセスシミュレーションソフトウェアとしては、Aspen Plus1)やPro-II2)が有名)と同様、過去30年以上に渡って組立加工系の製造工場や物流施設の設計でよく利用されている技術である。コンピュータの能力向上とソフトウェア技術の向上により、特に近年、“離散系シミュレーション”技術の利用が多くの産業分野で進展しており、医薬品業界についても例外ではない。そこで、本記事では3回の連載により”離散系シミュレーション“とはどのようなものか、どのような利用がされているか、どのような利益が期待できるかなどについて、医薬品業界での利用を念頭に置きながら解説し、医薬品の生産や物流に携わる諸氏が業務改善を考える上での参考として頂けることを、本記事の目的とする。
1. 離散系シミュレーションとは
離散系シミュレーションを適用する場合の分かりやすい例として、図1.に示す銀行の窓口業務を考えてみる。一般的に、新規に銀行を開設する場合には窓口数や待合室の広さなどの主要な設備設計のパラメータを決める必要があるが、1日の平均顧客数や窓口での平均サービス時間は概ね推定できているとしても、顧客の銀行への到着はランダムに発生するし、
個々の顧客に対するサービス時間も変動する。したがって、顧客の到着がピークに達する時間帯でも、顧客の待ち時間が過大で待ちスペースが混雑し顧客の不興を買うことがないようにするために、適切な窓口数と待ちスペースを確保することが重要となる。
このように時間軸上でランダムに発生する事象を前提として、定量的な設計パラメータ(この場合は窓口数や待ちスペース)を決めたい場合に、離散系シミュレーションは最も有効な手段となる。
図1.の例についての離散系シミュレーションの具体的な実行手順を図2.に示す。離散系シミュレーションでは、初期状態と変動する事象について発生確率の分布を与えることでシミュレーションを開始できる。図2.では、開店時刻を基点とし窓口数2つ、店内の顧客数ゼロを初期状態とし、顧客の到着およびサービス時間についてそれぞれの発生確率分布を与えた上で、シミュレーションを開始した場合を示している。シミュレータは、内部で自動生成する疑似乱数を使って、与えられた到着時間分布を満足するよう、図1.の時間軸上のT1, T2, T3ように顧客の到着事象を次々に発生させる。初期状態では2つの窓口は空いているので、顧客1と顧客2は直ちにサービスを受けられるが、3番目に到着した顧客3は、まだ顧客1と顧客2のサービスが終了していないため、サービス開始待ちの状態に置かれることになる。次に時刻T4で、これも疑似乱数から所定のサービス時間分布を満足するよう決められた顧客1のサービス時間が終了したので、顧客1は銀行を離れ、サービス開始待ち状態にあった顧客3のサービスが開始される。このように、離散系シミュレーションではある時刻の状態において、次に発生する可能性のある独立事象(図2.の場合は顧客の到着とサービスの終了)の内、どの事象が最も早く発生するかを調べ、最も早く発生する事象の時刻までシミュレーションを進行させる。またそれと同時に、発生した独立事象に従属して発生する事象(図2.の場合は顧客のサービス開始や出発など)を計算し記憶する。これをあらかじめ定めたシミュレーションの終了時刻まで実施する。上記の例では、1日の内の時間帯による顧客の平均到着人数の変化を考慮することで、銀行の開店から閉店までの窓口の込み具合をシミュレーションすることも可能となる。
ただし、離散系シミュレーションにおいては1回のシミュレーションは、確率的に発生する可能性のあるシステム全体の振舞いの1事例を求めたに過ぎないことに注意する必要がある。1回のシミュレーションで顧客の最大待ち人数が10人であったとしても、10人分の待ちスペースを用意すれば十分とは結論できない。なぜならば、1回のシミュレーションは、1回サイコロを振って出た目を観測したのと同じで、顧客の最大待ち人数はシミュレーションを試行する毎に変動するからである。つまり、離散系シミュレーションの目的を達成するためには、統計的に有意な結果が得られるまで複数回の試行を行って、顧客の最大待ち人数の分布の推定値を求める必要がある。この分布に基づけば、たとえば”95%の確率でそれを超える心配のない顧客の最大待ち人数”を決めることができる。
コメント
/
/
/
コメント