コラム・特集

10.2  モデリング ・アプローチ

IEハンドブック
第13部 IE技術者の定量的方法論

第10章 コンピュータ・シミュレーション

10.2  モデリング・アプローチ

シミュレーション・モデルの開発において,分析者はシステムを記述するための概念的な枠組みを選択する必要がある。この節ではシミュレーション・モデリングの際に使われる色々な観点について述べる。

離散系シミュレーション
個々のシステム変数が,特定の時間ごとに離散的に変化するような場合を離散系シミュレーションといい,この時間を「事象時間」と呼ぶ。時間変数は,離散的な変化が任意の時間であるか,一定の時間であるかによって,連続的か離散的になる。

離散系シミュレーションの例として,銀行の出納係による顧客の処理を考えてみよう。 顧客は銀行に到着し, もし出納係が忙がしければ待ち,サービ スを受け,そしてそのシステムを離れる。このシステムの離散系シミュレーションをつくるためには ,システムの状態を定義し, システムの状態を変化させる事象を識別しなければなら ない。この場合のシステムの状態は,出納係の状態と顧客の人数とにより完全に特定化できるシステムの状態は,(1)銀行への顧客の到着,(2)出納係の仕事の達成と顧 客の離脱 ,とによって変化する。このシステムをシミュレートするために,顧客の到着の流れと,それに対応するサービス時間を発生させることが必要である。これは, おそらく確率分布を用いてサンプリングされる。 図表13.10.1は10人の顧客のシミュレート例である。

銀行の出納係の状態と顧客の人数とによる事象中心の記述が図表13.10.2に与えられる。

この図表において, 事象は時間の経過によってリストされる時間による状態変化のグラフ表示が図表13.10.3に示される。これらの図表から最初の40分間における銀行内の顧客の平均人数は1.4525であり,出納係の無駄時間は20%である。

離散的なシステム内の要素,例えば人,設備,注文, 原材料等は「エンティティ」と呼ばれる多くのタイプのエンティティがあり,それぞれ多様な特性や属性を持っている。それらは異なったタイプのアクティビティと関連があるけれども ,エンティティは共通の属性によってグループ化される。このエンティティのグループ化を「ファイル」というあるエンティティを1つのファイルの中に入れることは ,そのファイ ルにある他のエンティティと関係を持つことを意味する。

離散系シミ ュレーション・モデルの目的はエンティティが互いに結ばれていて,そ れゆえに,システムが持っている潜在的な行動を知ることのできるアクティビティをつくりだすことにある。これはシステムの状態を定義したり,ある状態から月1の状態へ変化するアクティビティを構成することによってなされる。システムの状態はエンティティの属性に数値を割り当てることによって定義できる。

離散系シミュレーションにおいて,システムの状態は事象時間においてのみ変化する状態は事象時間と次の事象時間の間は変化しないので,システム状態の完全で動的な動きは事象のシミュレート時間を進めることによって得られる。この時間上のメカニズムは「次事象アプローチ」といわれ,多くの離散系シミュレーション言語に使われている。

離散系シミュレーション・モデルは,(1)各事象時間に生起する状態の変化を定義する,(2)システムのエンティティが関係するアクティビティを記述する,(3)システム のエンティティが関係するプロセスを記述する,ことによって定式化できる_事象,アクティビティ,プロセスの概念間の関係が図表13.10.4に示される。

事象はアクティビティが開始したり,終了したりするときに生ずるプロセスは事象の時間的な流れであり,いくつかのアクティビティからなる。これらの概念から3種の観点が自然に導かれる。それは,「事象中心のアプローチ」,「アクティビティ中心のアプローチ」,そして「プロセス中心のアプローチ」である。

連続系シミュレーション
連続系シミュレーション・モデルにおいて,システム の状態は連続的に変化する従属変数によって表わされる。連続的変化変数を離散的変化変数と区別するために,前者を「状態変数」という連続系シミュレーション・モデルは,現実システムのダイナミックな動きをシミュレートする状態変数をいくつか使って,方程式を定義することにより構成される。

連続系システムのモデルは,しばしば微分方程式を使って書かれる。その理由は状態変数の関係を直接に導くよりも,状態変数の変化率の関係を導いたほうが簡単だからである。例えば,時間0の初期条件を持つ t 時間経過後の状態変数Sの行動は,次のような微分方程式で表わすことができる。

ds(t)/dt=s^2(t)+t^2
s(o)=k 

シミュレーション分析者の目的は,特定時間経過後の状態変数の反応を決めることである。

状態変数SがdS/dtを用いた方程式で表現される場合が時々ある。しかしながら,実際重要である大多数の場合は,解析によってSを解くことは不可能である。次のようなタイプの方程式を使ってds/dtを積分することにより,反応Sを得なければならい。

s(t2)=s(t1)+t2∫t1・(ds/dt)dt

この積分はアナログ・コンピュータがデジタル・コンピュータを使って解く。
アナログ・コンピュータはモデルの状態変数を電気的負荷によって表わす。システムのダイナミックな構造が抵抗、コンデンサ、増幅器のような回路部品を使ってモデル化される。アナログ・コンピュータの根本的な欠点は,部品の品質によって得られる結果が影響されるこである。さらに,アナログ・コンピュータは論理的な制御機能やデータの外部記録に欠いている。

多数の連続系シミュレーション言語は,デジタル・コンピュータの使用を前提に開発されている デジタル・コンピュータは加算,乗算,そして論理判断などの数値 演算を高速で正確に処理する 連続系シミュレーションでの積分演算を数値処理サブルーチンを使って解く。これらの方法は独立変数を「ステップ」といわれる小さな一片に分割する積分に必要な状態変数の値は,状態変数の導関数の近似式を使って得られる。この場合に,計算の精度とコンピュータの実行時間との間にトレードオ フが生ずる 数値積分のアルゴリズムに関しては,数値 解析の教科書に詳しく書いてある。

時々,連続系システムは差分方程式を使ってモデル化される。これらのモデルにおいて,時間軸は長さ△tの時間間隔で分割される。状態変数のダイナミックス性は, k期からk+1期の状態変数の値を計算する方程式を導くことによってなされる。例えば,次の差分方程式は, 状態変数Sのダイナミックス性を記述するのに使うことができる。

Sκ+1=Sk+r^※△t

差分方程式を使うと,連続系シミュレーション・モデルの本質的な構造は,しばしばk+1期に投影される。変化率rとk期の状態変数値Skの間の関係で表わされる。連続系システム・シミュレーション言語は本章10.3節で述べる。

離散系・連続系の混合シミュレーション
離散系・連続系の混合モデルにおいて,独立変数は離散的にも連続的にも変化する 混合モデルの観点ではシステムはエンティティ,関連した属性,そして状態変数によって表わされる。システム・モデルの行動は微少時間ステップでの状態変数値と事象時間での属性値との計算によってシミュレートする。

混合系シミュレーションでは2種類の事象がある 「時間事象」は事象が一定時間ごとに発生するような場合である。それらは離散系シミ ュレーション・モデルと同じ 考え方である。それとは反対に,「状態事象」はスケジュールされないが,システムがある特定の状態に達した時に発生する。例えば,図表13.10.5に示したように,状態事象は状態変数Xが正方向で状態変数Yに交差するかどうかで発生する。

状態事象の概念は,事象がスケジュールされていないアクティビティ中心の概念と類似している が, システムの状態によって初期化されている状態事象のあらゆる発生可能性がシミュレーションの時間を進めることにチェックしなければならない。

次節では,ここで述べたモデル化アプローチを実施するために開発されたシミュレーション専用言語について検討する。

 本コラムは絶版となっている「IEハンドブック(サルベンティ編・日本能率協会訳・1986)」をアーカイブとして掲載するものです。このハンドブックの各章は多くの事例と理論を通して生産性向上に対するアイデアを提供するべく専門家によって執筆されています。基盤をなしているIEの考え方・原則はインダストリアル・エンジニアリングにかかわるすべてのひとに有用でしょう。

関連記事一覧

2019ものづくり公開セミナーガイド

B2Bデジタルマーケティングセミナー

ものづくり人材育成ソリューション

マーケティング分野オンラインセミナー