実験についての主要な概念

実験ツールとオプティマイザーについて

ビジネスシステムの現在の状態モデルを構築して正常に検証したら、理想的な将来の状態モデルの作成に進むことができます(「現在および将来の状態モデル」を参照してください)。 実験ツールとオプティマイザーツールは、ビジネスシステムの設計とテストを行い、最適なビジネスシステムを最終的に特定するのに役立ちます。

実験ツールは、同じシミュレーションモデルを毎回1つ以上の変数を変更して複数回実行し、結果が異なるかどうかを確認するツールです。実験ツールにはオプティマイザーも含まれています。このオプティマイザーは、シミュレーションによって解決しようとしている問題に対して可能な限り最良のソリューションを生成する条件の大まかな概要を示します。

たとえば、特定のワークステーションで必要な、最適従業員数または最小の従業員数を検出する実験を設計できます。ワークステーションで従業員の数が変動するさまざまな実験を同じシミュレーションモデルで実行できます。その後、従業員の稼働率や、スループット、遅延時間への影響などを比較できます。この情報は、希望する成果や優先事項に基づいて、事業に必要な雇用を決定するのに役立ちます。

この同じ例では、オプティマイザーを実行して特定の処理に必要な最適な従業員数と最適なマシン数を検索することもできます。2つ以上のトレードオフ(スループットとコストなど)間で最適なバランスを取るために使用できる複数のソリューションを特定できます。

主な用語

実験ツールに関連するいくつかの一般的な用語と重要な概念について以下で説明します。

実験

実験は、同じシミュレーションモデルを使用して順に実行される一連の変数、複製、シナリオのグループです。

変数

変数は、シナリオごとに異なるシミュレーションモデルの単純な側面です。モデルでは、次のようなさまざまな変数をテストできます。

  • シミュレーションモデルにおける、さまざまな数の従業員、ワークステーション、装置
  • さまざまなフローアイテムの到着スケジュールまたはパターン
  • さまざまなモデルレイアウト

次の画像は、2つのマシン間の最適な距離を特定し、スループットを最大化する実験に使用できる設定の例を示します。

各変数が別々の行にあることに注意してください。最初の変数はProcessor2の位置、2つ目の変数はProcessor3の位置にあります。このワークステーションを操作する従業員の数には追加の変数があります。

シナリオ

シナリオは、シミュレーションモデルの実行時に変化する1つ以上の変数のセットです。シナリオで、モデルが実行されるたびに変数がどのように変化するかを正確に定義します。

次の画像は、前のセクションと同じ例を示します。

各シナリオは別々の列に定義されます。この例では、実験ツールは各変数について5つのシナリオをテストします。各シナリオは、Processor2とProcessor3に対して異なる位置を定義します。異なるシナリオでチームメンバーの数が変更されないことに注意してください。

複製

複製とは、特定のシナリオについてシミュレーションモデルを1回実行することです。必要に応じて、指定したシナリオの複製を1回のみ実行できますが、複数の複製を実行して、より正確な統計データを取得することが推奨されます。

シミュレーションモデルには、乱数を使用してシステムに変動性をもたせる場合があります。実験ツールが特定のシナリオの複製を実行するたびに、特定の数値ストリームを使用してシミュレーションモデルに必要な任意の乱数を生成します。たとえば、ランダムな間隔で到着するフローアイテムがシミュレーションモデルに必要な場合や、特定の処理が完了するまでにかかる時間がランダムな場合、実験ツールは特定の乱数ストリームを使用します。

複製ごとに異なる数値ストリームを使用して乱数を生成するため、結果が若干異なります。実行する複製が多いほど予測可能なパターンが現れてくるため、統計的により信頼性の高い結果が得られます。

ただし、実験ツールは、テストする変数ごとに一連の同じ複製を実行する点に注意してください。追加のシナリオと変数に対して複製が繰り返される場合、同じ数値ストリームを使用して乱数が生成されます。

次の画像に、実行中の実験の表示例を示します。

この例では、実験ツールは5つの異なるシナリオに対して複製を30回実行しています。各シナリオは、2つのプロセッサ間の距離に対して異なるモデルレイアウトをテストしています。実験ツールは、乱数ストリームの組み合わせを30種類使用して、最初の変数(Scenario 1)の最初のシナリオで使用される乱数を生成します。30種類の乱数ストリームの同じ組み合わせを使用して、2つ目のシナリオ(All Left)をテストします。

この実験では、各シナリオをテストする際に同じパターンの乱数を使用するため、各シナリオの最初の複製の結果を正確に比較できます。これは、各シナリオの最初の実行に同じ乱数ストリームを使用するためです。実行する複製が多いほど、統計結果が正確であるという信頼性が高まります。

パフォーマンス指標

主要業績評価指標(KPI)またはメトリックとも呼ばれるパフォーマンス指標は、特定のモデルの統計出力です。パフォーマンス指標は、モデルの成果に関するハードデータを提供します。

特定の成果を測定しないのなら、実験を実行しても意味がありません。何らかの出力を比較できない限り、2つ以上の実験結果は比較できません。最適な成果につながるビジネスシステムを特定できるようにするには、何らかのメトリックが必要です。

実験を実行する前に、主要業績評価指標を特定してください(詳細については、「主要なメトリックを決定する」を参照してください)。 その後、何らかの統計を使用してこれらのメトリックの測定方法を設計してください。FlexSimの標準統計を使用することも、統計コレクターを使用して独自のカスタム統計を作成することもできます。(詳細については、「データの取得についての主要な概念」を参照してください)。

ベストプラクティス

以下のセクションでは、実験を設計する際に留意すべきいくつかのベストプラクティスについて説明します。

適切なデータ入力でモデルを構築する

モデル(出力)から良好なデータを得るには、モデル(入力)に適切なデータを確実に入力する必要があります。シミュレーションモデルが、ビジネスシステムの要件を適切に表す正確なデータと乱数の分布に基づいていることを確認してください。(詳細については、「データ収集方法」を参照してください)。

モデルを検証してエラーを削減する

実験を実行する前に、シミュレーションモデルを開始から終了まで少なくとも1回は実行してください。エラーを発生させずにシミュレーションモデルを実行できるようになると、実験ツールを使用する準備が整います。

測定する主要なメトリックの数を制限する

数多くの主要業績評価指標を調べている場合、すべての主要指標がシミュレーションモデルで正確に表現されているという信頼レベルが低下します。主要業績評価指標が多いほど、いずれか1つが間違っているという統計的な確率が増します。

コンピュータのメモリ制限を把握する

実験または最適化を数多く実行するほど、コンピュータに必要なメモリが増えます。実験ツールとオプティマイザーは、[詳細]タブでコアの数を制限しない限り、すべてのコアを使用します。多くのコアを使用すると、問題が発生する可能性があります。各コアには、単一モデルの実行と同じだけのメモリが必要です。たとえば、8つのコアを使用する場合、通常モデルの実行の8倍のメモリが必要になります。

そのため、コンピュータの容量を確認しておく必要があります。コンピュータが過負荷を引き起こさずに処理できるか、必要な時間よりも長く処理時間がかかるように実験を設計します。実験と最適化を数多く実行することで、得られる結果の信頼性を高められますが、コンピュータの容量に照らして適切なデータの必要性を評価する必要があります。

オプティマイザーによるソリューションの検索方法

以下のセクションでは、オプティマイザーを使用する際に留意すべき主要な概念と注意事項をいくつか説明します。

オプティマイザーで実現可能なソリューションの範囲を特定する

オプティマイザーを使用するときに、ビジネスシステムに適したソリューションが1つしかないと判断してしまうことがよくあります。オプティマイザーはその種のソリューションも提供できますが、オプティマイザーを使用して実現可能な理想的なソリューションの範囲を生成すると効果的です。

次の画像に、ソリューションの適切な範囲を紫色で強調表示したオプティマイザーの実行結果を示します。

1つのソリューションではなくさまざまなソリューションを用意することで、ビジネスシステムの制約を考慮しながら、さまざまなソリューションの長所と短所を評価できます。複数のトレードオフから選択し、利用可能なリソースを選択して、何が最適な価値を提供するのかを特定するのに役立ちます。

オプティマイザーの実行時間が長くなるほど、テストするソリューション数が増える

オプティマイザーはさまざまなシナリオのシミュレーションを実行して、より多くのソリューションを探索します。オプティマイザーを実行する時間が長くなるほど、多くのソリューション候補が探索されます。オプティマイザーの実行時間を決定する際には、ソリューション候補を大量に使用すべきかどうかを考慮します。オプティマイザーは、考慮していなかったソリューションの探索に役立ちますが、しばらく実行していると、あまり一般的ではないソリューションのテストまで開始される可能性があります。

オプティマイザーを長期間使用する場合は、コンピュータの処理能力も考慮する必要があります。コンピュータでかなりの時間をソリューションの探索に費す必要がある場合は、実行中にコンピュータを使用できない可能性があります。実験ツールまたはオプティマイザーが他のコンピュータのアクティビティ用に1つのコアを残すよう、必要に応じて[詳細]タブで指定できます。

オプティマイザーは実験ツールをガイドとして使用する

オプティマイザーはテストするソリューションを決定する際に、実験ツールをガイドとして使用します。必要に応じて、実験で指定したシナリオのテストから開始し、その後、そこから分岐する類似のソリューションを探索するようにオプティマイザーを設定できます。