シミュレーションの概要

シミュレーションとは

一般に、シミュレーションモデルとは、ビジネスシステムをデジタルで模倣したものです。とりわけ、ビジネスシステムの動作を時間の経過にあわせて模倣することができます。FlexSimを使用すると、現在存在しているビジネスシステムを模倣するシミュレーションモデルを構築することも、将来のビジネスシステムのプロトタイプを構築して実際のパフォーマンスを予測することもできます(現在の状態モデルまたは将来の状態モデルを構築する際の長所と短所の詳細については、「現在および将来の状態モデル」を参照してください)。

シミュレーションモデルの目的は、ユーザーがビジネスシステムをより深く理解し、全体を改善するのを助けることです。シミュレーションモデルを構築すると、さまざまな変数を試してシステムを最適化できるようになります。シミュレーションモデルを使用して、ビジネスシステムが変化する条件にどのように対応するかをテストすることもできます。

ただし、データを収集してシミュレーションモデルを作成する作業を行うだけでも貴重な情報が得られます。システムに関するデータを収集する処理では、現場の人とリアルタイムで対話して実際に検証することにより、システムの実態を直接把握できます。これらの情報だけでも、以前は確認できなかった方法でビジネスシステムを最適化する方法を特定するのに役立ちます。

離散イベントシミュレーションとは

離散イベントシミュレーションは、次に示す3つの主要コンポーネントで構成されています。

  • モデル
  • クロック
  • イベントリスト

モデルはイベントを生成して、シミュレーションを進行させます。イベントは特定の時間にモデルを変化させるものです。すべてのイベントはイベントリストに配置されています。このリストはイベントを時系列順に並べ替えます。シミュレーションが実行されると、クロックタイムが増加します。クロックタイムが次のイベント時間と一致すると、そのイベントによってモデルが更新されて、イベントはリストから削除されます。

たとえば、次の画面キャプチャでは単純なモデルが実行されています。ソースからパーツが到着して、キューで待機し、システムを出る前にプロセッサを通過するところが確認できると思います。このモデルでは、一度に1つのパーツだけを処理できます。

この例ではモデル、クロック、そしてイベントリストが表示されています。モデルは3Dオブジェクトで構成されています。クロックは3Dオブジェクトの上に表示され、イベントリストはオブジェクトの統計ウィンドウの下に表示されています。

この例は離散イベントシミュレーションの基本を示しています。クロックがイベントに到達したとき、そのイベントによってモデルに変化が起きていることが確認できると思います。さらに、一部のイベントはオブジェクトに追加のイベントを作成させることも示されています。たとえば、ソースがフローアイテムを作成した場合、そのフローアイテムは将来的に別のフローアイテムを作成するイベントを作成することもできます。最後に、イベントが発生したときも、モデルの統計は最新の状態を維持しています。

離散イベントシミュレーションの主な利点の1つは、イベント間の時間をスキップできることです。これによって、複雑なモデルの場合であっても、シミュレーションクロックを実際の時間よりはるかに早く動かすことができるようになります。

離散イベントシミュレーションの連続値

上記の例では、イベント間で変化する値が示されました。フローアイテムはプロセッサを滑らかに移動して、平均コンテンツの統計は頻繁に変化しています。このことは、イベントベースのシミュレーションの本質に反するように思えるかもしれません。

FlexSimはこの種の値を、イベントごとの重要情報を記録することでシミュレートしています。たとえば、アイテムがプロセッサに到達したとき、プロセッサは到着時間を記録します。パーツの処理が完了する時間を計算して、その完了時間にイベントをスケジュールします。つまり、プロセッサが3Dビューで描画された場合、プロセッサは現在時間とアイテムの到着時間を使用して、ボックスを正しい位置に配置します。平均コンテンツも同様に動作します。コンテンツが変化すると、FlexSimは(必要であれば)イベント間の値を計算するために十分な情報を、そのイベント中に格納することができます。

シミュレーションの使用例

自動車のハンドル向け組立ラインのシミュレーションを構築していて、組立ラインが最適な効率性で動作しているかどうかを判断する必要があると想定します。このシミュレーションでは、一連の部品が溶接ステーションに到着します。溶接ステーションは、プロセッサ(特定の製品を処理するのに要する時間をシミュレーションする3Dオブジェクトの一種)とオペレーター(溶接機を操作する必要がある従業員)を使用して表現できます。

溶接ステーションでの部品の到着はイベントです。このイベントにより、プロセッサとオペレーターによる部品の溶接開始がトリガーされます。部品が到着する前は、プロセッサとオペレーターの両方がアイドル状態である場合があります。これは、部品が到着する前の特定の状態です。部品が到着してプロセッサが部品を溶接し始めると、プロセッサの状態は(部品を処理しているため)処理中に変わり、オペレーターの状態は(従業員が稼働しているため)稼働に変わります。プロセッサとオペレーターが部品を溶接し終えると、プロセッサとオペレーターはアイドル状態に戻ります。

これらの状態を使用して、組立ラインの効率性に関する有用なメトリックを収集できます。関心のある主要なメトリックが、オペレーターとプロセッサの稼働時間に対するアイドル時間であると仮定した場合、これらのメトリックから、溶接ステーションと従業員の稼働率に過不足がないかどうかを判断できます。

  • 溶接ステーションと従業員の稼働率に過不足がある場合、顧客の需要を満たす最も効率的なリソースバランスがビジネスシステムで得られていない可能性があります。
  • リソースが過剰に利用されると、その時点で組立ラインにボトルネックが発生する可能性があります。

その場合は、溶接ステーションと従業員の数を増やして実験できます。リソースが十分に利用されていない場合は、ビジネスシステムを分析して、組立ラインの初期段階にボトルネックがあるかどうかや、現在溶接ステーションまたは従業員の数が多すぎるかどうかを判断できます。