シミュレーションを実行する
シミュレーションを実行するとどうなるか
以下のセクションでは、シミュレーションの実行中にシミュレーションモデルのさまざまなコンポーネントで行われる動作について説明します。
3Dシミュレーションモデル
一部の3Dシミュレーションモデルは非常に複雑ですが、3Dモデルで最も基本的なレベルでシミュレーション実行中に行われる動作は次のとおりです。
- フローアイテムが3Dモデルに導入されます。通常、フローアイテムはソースオブジェクトを使用してモデルに導入され、これによりフローアイテムが作成されて次の下流の固定リソースに送信されます。または、処理フローでフローアイテムを作成して3Dモデルに導入することもできます。
- フローアイテムが3Dオブジェクトとモデル内で相互作用を開始します。一般に、フローアイテムは1つの固定リソースから次の下流の固定リソースに移動します。
- シミュレーションモデルに追加されると、タスク実行者(オペレーターなど)がフローアイテムおよび固定リソースを操作します。タスク実行者は、フローアイテムの輸送や、固定リソースによるアイテムの処理のサポートを行います。
- フローアイテムが完了すると、通常、シンクオブジェクトを使用してシミュレーションモデルから離れるため、モデルからフローアイテムが削除されます。ただし、保管するためにラックにパックされて終了する可能性があります。
処理フロー
シミュレーションの実行中に、処理フローは次の基本的な手順に従います。
- ほとんどの処理フローは、1つ以上のトークンを作成するトークンの作成アクティビティから開始されます。トークンは通常、アクティビティに緑色の点 として表示されます。これらのアクティビティは、シミュレーションの実行が開始されるとすぐに、定期的またはスケジュールに従って新しいトークンを作成できます。また、シミュレーションモデルでイベントをリッスンし、特定のイベントが発生するたびにトークンを作成することもできます。注:処理フローがサブフローの場合は通常、開始アクティビティから開始されます。
- トークンの作成アクティビティは、トークンを次の下流のアクティビティにリリースします。そのアクティビティがトークンでアクションの実行を終了すると、トークンを次の下流のアクティビティなどにリリースします。
- 遅延アクティビティに一定期間トークンを保持する必要がある場合、トークンは時間が経過すると色が変化しますが、それは視覚的に時間の経過とともに増えていく塗りつぶし線 に似ています。時間が経過すると、遅延アクティビティはトークンを次の下流のアクティビティにリリースします。
- いくつかの処理フローアクティビティは、一定時間が経過するのを待機する間や、処理フローまたはシミュレーションモデルで別のイベントを待機する間、トークンを保持します。アクティビティが一度に多数のトークンを保持している場合、トークンは視覚的に重なって表示される場合があります。大量のトークンが処理フローアクティビティ上に構築されると、次のアニメーション画像に示すように、内部のトークン数を示す1つのトークンに置き換えられます。
- 処理フローは通常、シンクアクティビティ(サブフローの場合は終了アクティビティ)で終了します。ただし、ソフトウェアがクラッシュせずに、アクティビティが無期限にループする可能性があります。
シミュレーションを実行する理由
シミュレーションを実行する理由は、現在行っているモデル構築処理の段階によって異なります。モデルのロジックを構築中である場合、モデルを実行して、意図したとおりに機能することをテストします。モデルを実行することで、さまざまな潜在的な問題のトラブルシューティングに役立ちます。
モデルが正常に機能した後、実際のビジネスシステムの動作とモデルを比較し、モデルの正確性を検証する必要があります。
モデルが正常に機能していて、検証されたら、シミュレーションモデルを実行して次のことができます。
- モデルからデータを取得する。ビジネスシステムに関するデータを収集し、その情報をチャート、グラフ、テーブルに表示します。
- 最適なビジネスシステムを特定する。実験を実行して、特定の変数を変更するとビジネスシステムがどうなるかを判断します。
- モデルを売り込む。提案されたシステムについてステークホルダーの承認を得るために、動作しているモデルを紹介します。
重要な考慮事項
以下に注意してください。
- シミュレーションは無限に実行できる。シミュレーションが終了時間に達した場合でも、シミュレーションは停止というよりは中断されている形になります。処理するイベントが他にある限り、コントロールバーの[実行]ボタンを再度押すとシミュレーションは無限に実行を続けます。
- ランダムなイベントがあっても、シミュレーションは毎回同じように実行される。シミュレーションモデルで何も変更しない場合、異なるプロパティをランダムに設定した場合でも、シミュレーションの実行はすべて同じになります。ランダム変数は毎回同じ乱数ストリームを使用するため、シミュレーションを複製してシミュレーションモデルで変数を変更した場合の動作を比較できます。
シミュレーションコントロールバーの概要
シミュレーションを実行するには、メインメニューとツールバーの下にあるシミュレーションコントロールバー(略してコントロールバーとも呼ばれます)を使用します。このコントロールバーには、シミュレーションの実行に必要なほとんどのツールが含まれています。次の画像に示すように、コントロールバーにはシミュレーションの実行方法のコントロールに使用できる3つのツールグループがあります。
ツールバーのボタンとオプションの詳細については、マニュアルの「リファレンス」セクションにある「シミュレーションコントロールバー」を参照してください。
実行コントロールツール
次の画像に示すように、[実行コントロール]ボタンはシミュレーションの開始と停止に使用する基本的なツールです。
実行時間ツール
実行時間ツールは、シミュレーション中に経過した時間を表示します。時間の表示方法やシミュレーションが停止するタイミングをコントロールすることもできます。
実行速度ツール
実行速度ツールはシミュレーションの実行速度をコントロールします。
シミュレーション実行を開始する
シミュレーションを開始する準備ができたら、次を実行します。
- [リセット]ボタンを押してシミュレーションモデルを更新し、開始位置にリセットします。
- [実行]ボタンを押してシミュレーションを開始します。
シミュレーションクロックが動作を開始し、3Dモデルや処理フローが実行を開始します。詳細については、「シミュレーションを実行するとどうなるか」を参照してください。
シミュレーションで前方にスキップする
FlexSimにはタイムラインをスクラブしたり、シミュレーションの特定の時間にジャンプしたりする機能はありません。ただし、このセクションで説明するように、シミュレーションで前方にスキップするにはいくつかの方法があります。
ステップボタン
[ステップ]ボタンを押すとシミュレーションの次のイベントにスキップします。
シミュレーションを加速する
前方にスキップするもう1つのソリューションは、シミュレーションの実行速度を上げて、関心のあるポイントに速く到達できるようにすることです。また、その時点でシミュレーションを停止するように設定することもできます。
シミュレーションを停止または一時停止する
シミュレーションを停止する方法は2つあります。1つ目の方法は、ツールバーの[停止]ボタンを押すことです。もう1つの方法は、シミュレーションの実行中の特定の時間にシミュレーションが停止するように設定することです。
- シミュレーションクロックの横にある矢印をクリックして実行時間ツールを開きます。
- 必要に応じて、[表示モード]を秒または日時に変更します。
- [停止時間]チェックボックスをオンにして、シミュレーションモデルを停止する時間を入力します(使用可能な時間フィールドは、前のステップで表示モードとして選択した内容によって異なります)。
- [ウォームアップ時間]チェックボックスをオンにしてウォームアップを終了する時間を入力することもできます。
シミュレーションの実行速度を変更する
次の画像に示すように、[実行速度]ツールを使用して実行中のシミュレーションの移動速度を変更できます。
シミュレーション速度計には、シミュレーションが実行している現在の速度を示します。デフォルトでは、シミュレーションはリアルタイムの秒につき4秒のシミュレーションの割合で実行されます。モデルの設定時に異なるモデル時間単位を指定した場合は、これが変わることに注意してください。どのくらい速くシミュレーションを実行するかによって、この数値を速くしたり遅くしたりできます。
スライダーボタンを使用して、実行速度を手動で調整できます。また、ドロップダウンをクリックして速度オプションを開くこともできます。速度を変更するには、次のいずれかのオプションを選択します。
- [1.00]は、モデルの時間単位の設定に応じて、リアルタイムでモデルを実行します。
- [最大]は最も速い速度です。
- [カスタム]ではそのすぐ下のボックスに希望の速度を入力できます。新しいカスタム速度設定を適用するには、[設定]ボタンをクリックします。
別の方法でシミュレーションを実行する
実験ツールを使用してシミュレーションを実行することもできます。詳細については、「実験ツールとオプティマイザーツール」を参照してください。