実験ツールとオプティマイザー

概要と主要な概念

実験ツールは、同じシミュレーションモデルを毎回1つ以上の変数を変更して複数回実行し、結果が異なるかどうかを確認できるツールです。モデルでテストできる変数はたくさんあります。

オプティマイザーは、変数の変更とシナリオの実行を自動で行い、モデルに最適な変数の組み合わせを検索するツールです。

[シナリオ]タブ

[シナリオ]タブでは、実験に関連する変数とシナリオを定義します。次のプロパティがあります。

変数

アイコン 説明
実験変数を追加します。ドロップダウンから変数タイプを選択します。
選択した変数を削除します。
選択した変数をリストの上または下に移動します。

変数を追加したら、その変数の[変数]セルをクリックすると変数を変更できます。 ボタンが表示されます。これらを使用して変数を変更するか、手動でパスを入力します。

左側のテーブルのヘッダー列に変数の名前を定義します。

シナリオ

アイコン 説明
シナリオを追加します。追加したら、そのシナリオの列の各変数の値をテーブルに入力します。
選択したセクションを削除します。
選択したシナリオをリストの左または右に移動します。

テーブルの列ヘッダーの名前を変更すると、シナリオの名前を変更できます。

デフォルトのリセットシナリオを選択

モデルが実験ツール外にリセットされたときに移動するシナリオを定義できます。選択すると、モデルはリセットされるたびにそのシナリオに戻ります。モデルがそのシナリオにリセットされないようにするには、[なし]を選択します。

[パフォーマンス指標]タブ

[パフォーマンス指標]タブには、次のプロパティがあります。

リストからパフォーマンス指標を選択して編集します。標準的なパフォーマンス指標の場合、コントロールは右側に表示されます(上の画像を参照)。パフォーマンス指標がダッシュボード統計に関連付けられている場合は、[プロパティ]ボタンが表示されます。これにより、ダッシュボードウィジェットのプロパティウィンドウが開きます。

アイコン 説明
パフォーマンス指標を追加します。モデルにダッシュボードがある場合は、ダッシュボードからパフォーマンス指標として統計を選択できます。
選択したパフォーマンス指標を削除します。
選択したパフォーマンス指標をリストの上または下に移動します。

名前

パフォーマンス指標の名前は[パフォーマンス指標の結果]ウィンドウで使用され、制約と目標を定義するときに[オプティマイザーの設計]タブで使用できます。

Y軸のラベル

[パフォーマンス指標の結果]ウィンドウのY軸タイトルを定義します。

パフォーマンス指標

このピックリストは、収集する情報を指定します。使用可能なピックリストオプションから選択するか、独自のカスタムコードを作成します。

[実験の実行]タブ

[実験の実行]タブでは、実験ツールのパラメータを定義して実行します。次のプロパティがあります。

実験を実行

実験の実行を開始します。

シナリオごとの複製

各シナリオで実行される複製の数です。

終了時間

シミュレーションが終了する日時。モデル設定で定義されているモデル開始日時に基づきます。

実行時間

各実験が実行される合計シミュレーション時間です。

ウォームアップ時間

統計をリセットする前に、各複製が実行されるシミュレーション時間。したがって、統計はこの期間(実行時間 - ウォームアップ時間)の間のみ収集されます。

複製ごとにダッシュボードデータを保存

このチェックボックスをオンにすると、FlexSimによって各複製の最後にダッシュボード統計のデータがモデルに保存されるため、後で結果の一部として表示できます。

各複製後に状態を保存

このチェックボックスをオンにすると、各複製の完全なシミュレーション状態が複製の最後にファイルに保存されます。これにより、完了した状態の複製を開くことができます。これは、いずれかの複製で有効な結果を得られない場合に特に役立ちます。

各複製後に元の状態に戻す

このチェックボックスをオンにすると、FlexSimによって各モデルの実行の間にモデルが完全に再ロードされます。リセットするたびにモデルがまったく同じ状態に正しくリセットされず、後続の複製結果に影響を与える「スピルオーバー」状態を望まない場合は、このチェックボックスをオンにします。ただし、ツリーを完全に再ロードするため、各複製を実行するのに時間がかかる可能性があります。

各複製後に結果をエクスポート

各複製後に結果をファイルに保存します。

結果を表示

[パフォーマンス指標の結果]ウィンドウが開きます。実験の実行が終了したら、このボタンをクリックします。

エクスポート/統合結果

このボタンを使用すると、結果をファイルに保存し、保存したファイルの結果を現在の結果にロード/統合できます。

  • エクスポートは、結果を.tファイルに保存します。
  • ロードは、保存したファイルの結果をモデルにロードし、現在の結果を置き換えます。
  • 統合は、ファイルから結果をロードし、その結果をモデルの現在の結果と統合します。

各複製後に結果をエクスポート

各複製後に結果をファイルに保存します。

[オプティマイザーの設計]タブ

[オプティマイザーの設計]タブには、次のプロパティがあります。

変数テーブル

このテーブルには、[シナリオ]タブに表示される変数が表示されます。変数のタイプを変更するには、いずれかの[タイプ]セルをクリックして を表示します。タイプを設定すると、適用可能なオプションを反映するようにテーブルのセルが変更されます。

次の表は、各変数タイプと、各タイプを使用する際に必要な情報について説明します。

タイプ 追加情報 説明
連続 上限と下限を指定します。オプティマイザーは、この変数に対して下限以上および上限以下の10進数を生成します。 ある範囲内の10進数で表すことができる値に使用されます。多くの場合、期間や位置が連続変数で表されます。
整数 上限と下限を指定します。オプティマイザーは、この変数に対して下限以上および上限以下の整数を生成します。 数えられる値に使用されます。オペレーター数やマシン数が整数変数で表されることがあります。
離散 上限と下限、ステップを指定します。オプティマイザーは、下限+ n *ステップ(n = [0, 1, 2, 3, ...])に等しい値を生成します。この値は上限を超えません。ステップは正の値でなければならず、10進値にできます。 ある間隔で発生する値に使用されます。ある一定量のみ調整可能な部品のサイズや数量を離散変数で表すことができます。
バイナリ 追加情報は必要ありません。オプティマイザーは、この値に対して0または1を生成します。 「オン」または「オフ」、「使用する」または「使用しない」など、可能性が2つのみある値に使用されます。
設計 離散変数タイプと同じです。 異なるオプションを表す値に使用されます。たとえば、フロアレイアウト1とフロアレイアウト2、配置方法1と配置方法2、などです。オプティマイザーは、このような変数の増減による影響を推測しません。
順列 グループ番号を指定します。グループ内の各順列変数に対し、オプティマイザーは値[1, n]を生成します。ここで、nはグループ内の変数の数です。グループ内のすべての変数は異なる値を取得します。 シーケンスに使用されます。アイテムを処理するシーケンスなど、オプティマイザーで並べ替えるシーケンスは、この変数タイプで表すことができます。
文字列 文字列に使用できる値のリストを指定します。オプティマイザーは、この変数に対して指定された値を使用します。 さまざまなテキストオプションに使用されます。設計変数と同様、オプティマイザーは、この変数タイプの増減による影響を推測しません。

制約テーブル

このテーブルには、オプティマイザーのすべての制約が表示されます。使用可能な変数、ブール演算子、数学演算子を使用して方程式を定義します。

アイコン 説明
制約を追加します。
選択した制約を削除します。

目標テーブル

このテーブルには、オプティマイザーのすべての目標が表示されます。使用可能な変数、ブール演算子、数学演算子を使用して関数を定義します。

アイコン 説明
目標を追加します。
選択した目標を削除します。

検索モード

3つの検索モードがあります。

  • 単一 - オプティマイザーは1つの目標を最大化または最小化しようとします。指定された時間で見つかった最良のソリューションが返されます。
  • 加重 - オプティマイザーは、指定されたすべての目標の累積値を最大化しようとします。各目標には加重値と方向が与えられます。特定の目標を最小化する場合、その値に-1を掛けてから累積目標に加算します。指定された時間で見つかった最良のソリューションが返されます。加重を選択すると、目標テーブルが次のように変更されます。
  • パターン - オプティマイザーは、指定されたすべての目標を最適化するソリューションを検索します。この検索モードは最適なソリューションの集合を返します。ある目標が改善されると他が悪くなることで、目標は最適となります。たとえば、利益を最大化し、費用を最小化する最適化があります。ソリューションを最適にするには、費用を増やさずに利益を増やす以外のソリューションはありません。これは「パレート最適」とも呼ばれます。

[オプティマイザーの実行]タブ

[オプティマイザーの実行]タブには、次のプロパティがあります。

最適化

このボタンをクリックすると、最適化プロセスが開始されます。

終了時間

各ソリューションが終了するシミュレーションの日時。モデル設定で定義されているモデル開始日時に基づきます。

実行時間

各ソリューションが実行されるモデル単位の時間です。

ウォームアップ時間

統計をリセットする前に、各ソリューションが実行されるシミュレーション時間。したがって、統計はこの期間(実行時間 - ウォームアップ時間)の間のみ収集されます。

実測時間(秒)

オプティマイザーがソリューションの生成に費やす最大のリアルタイムです。実測時間に達すると、アクティブなソリューションの実行が終了した後、最適化の実行が停止します。

ソリューションの最大数

オプティマイザーが生成してテストするソリューションの最大数です。

ソリューションごとに複数の複製を実行

このチェックボックスをオンにすると、オプティマイザーは生成された各ソリューションに複数の複製を実行します。

手動停止のみ

ユーザーがオプティマイザーを停止するまでオプティマイザーを実行するように設定します。

詳細オプション

詳細オプションを表示]チェックボックスをオンにすると、追加のプロパティが表示されます。

次の詳細プロパティを使用できます。

  • シナリオを実行可能なソリューションとして使用 - 手動で定義したシナリオを(シナリオページから)初期検索ポイントとして使用します。これにより、オプティマイザーに最適化プロセスの開始場所が指定され、一般に最適化時間が短縮されます。
  • 複製ごとにダッシュボードデータを保存 - 各複製後に最適化後のレポート/分析用のダッシュボード統計のデータを保存する場合に選択します。
  • 各複製後に状態を保存 - 各複製の最後にモデルの完全な状態をファイルに保存する場合に選択します。
  • 各複製後に元の状態に戻す - 各複製後にモデルのクリーンコピーを復元する場合に選択します。
  • ソリューションを生成順に評価 - ソリューションが生成順に評価されるようにする場合に選択します。これは低速ですが、最適化検索を繰り返し行うことが可能です。
  • ソリューションごとに複数の複製を実行 - このチェックボックスをオンにすると、以下のオプションが使用可能になります。
    • 複製の最小数 - 各ソリューションで常に実行される複製の最小数です。
    • 複製の最大数 - 各ソリューションで常に実行される複製の最大数です。-1に設定すると、最大数は使用されません。
    • 複製を次の時間まで実行 - 各ソリューションは、選択した条件が満たされるか、複製の最大数に達するまで実行されます(-1に設定しない場合)。
    • 信頼度(%) - ソリューションが複製の平均値の指定された誤差率の範囲に入る信頼度。
    • 誤差率(%) - 信頼度の適用対象となる平均値の範囲を指定します。0~100の値である必要があります。

[オプティマイザーの結果]タブ

[オプティマイザーの実行]タブには、次のプロパティがあります。

最適化コントロール

現在、オプティマイザーがシナリオを介して実行されている場合、最適化プロセスを一時停止または停止できます。

グラフオプション

これらのオプションを使用すると、グラフの外観をカスタマイズし、X軸とY軸に対してプロットする値を定義できます。

選択したシナリオをエクスポート

このオプションでは、シナリオを選択(グラフ内のシナリオをクリックして選択)し、そのデータを[シナリオ]タブのシナリオテーブルにエクスポートします。これにより、選択したシナリオでさらに実験を実行したり、モデルを[デフォルトのリセットシナリオを選択]を使用して選択するずれかのシナリオに設定したりできます。

スクリーンショットをエクスポート

現在表示されている結果グラフをPNGファイルとして保存します。

CSV形式でエクスポート

選択したシナリオからCSVファイルにデータをエクスポートします。

オプティマイザーの結果グラフ

オプティマイザーの結果を表示します。現在、オプティマイザーがシナリオを介して実行されている場合、最適化プロセスを一時停止または停止できます。

[詳細]タブ

[詳細]タブには、次のプロパティがあります。

複製のストリームを繰り返す

複製を指定して、同じ乱数ストリームを使用するモデルの手動実行(実験ツールの複製ではありません)を設定します。これを有効にするには、ランダムストリームを繰り返す必要があります。

コアの最大数

実験ツールで使用するコアの最大数を指定します。値0は、使用可能なすべてのコアの使用が必要なことを示します。分散CPUを使用している場合、このプロパティは無視されます。

分散CPUを使用する

このチェックボックスをオンにすると、実験または最適化で指定IPアドレスのCPUの利用が必要であるとこのプロパティで示されます。これは、指定IPアドレスのサーバーがポート80でFlexSim Webサーバーを実行している場合にのみ機能します。さらに、すべてのサーバーにFlexSimがインストールされている必要があります(これらのインストールにライセンスは不要です)。実験または最適化を実行するには、通常どおり[実験を実行]ボタンまたは[最適化を実行]ボタンを使用します。

分散CPUリスト

このリストは外部CPUへの接続の追加、編集、削除に使用できます。リスト内のエントリごとにIPアドレス、そのアドレスで使用可能なCPUの数を指定できます。

テスト接続

このボタンをクリックすると、一覧表示の接続が一つひとつテストされます。接続できなかった場合、その接続でFlexSimが指定アドレスのポート80でサーバーと接続できなかったことを指します。これは、リモートサーバーがFlexSim Webサーバーであること、またはそのサーバーにFlexSimがインストールされていることを確認するテストではありません。

[パフォーマンス指標の結果]タブ

このタブでは、さまざまなシナリオ間でパフォーマンス指標を比較できます。パフォーマンス指標とグラフタイプを選択します。利用可能なグラフのタイプは、複製プロット、頻度ヒストグラム、相関プロット、データ要約、生データです。次のプロパティがあります。これは、選択するグラフタイプによって変わります。

複製プロット

[複製プロット]グラフタイプには、次のプロパティがあります。

  • データ - このチェックボックスをオンにすると、複製プロットにすべての複製のデータポイントがプロットされます。
  • ボックスプロット - このチェックボックスをオンにすると、複製プロットにボックスプロットが表示されます。
  • 平均 - このチェックボックスをオンにすると、各シナリオの平均信頼区間が表示されます。信頼の割合を90%、95%、99%と指定できます。

頻度ヒストグラム

[頻度ヒストグラム]グラフタイプには、次のプロパティがあります。

  • バーの数 - 表示する範囲のサイズを指定します。

相関プロット

[相関プロット]グラフタイプには、次のプロパティがあります。

  • 相関対象 - 別のパフォーマンス指標を選択して、現在のパフォーマンス指標をプロットします。

データの概要

[データの概要]グラフタイプには、次のプロパティがあります。

  • 次に基づく平均 - 選択した信頼区間に基づいて値を表示します。
  • レポートの基本設定 - パフォーマンス指標の[レポートの基本設定]ウィンドウが開きます。これにより、レポートに含めるデータを整理できます。
  • レポートを生成 - レポートを生成するには2つのオプションがあります。
    • レポート形式 - 全パフォーマンス指標のすべての結果を含むhtmlファイルが作成されます。
    • ウェブビューア形式 - インタラクティブなhtmlファイルが作成されます。htmlファイルを開くと、グラフを選択して表示できます。

[ダッシュボード統計]タブ

実験を実行する前に[実験の実行]タブで[複製ごとにダッシュボードデータを保存]チェックボックスをオンにしている場合は、[ダッシュボード統計]タブに移動して、さまざまなダッシュボード統計の個々の複製結果を表示できます。統計、複製、シナリオを選択すると、その統計に関連するグラフが表示されます。

[コンソール出力]タブ

FlexSimは、複製ごとに出力コンソールとシステムコンソールのテキスト出力も保存します。これは、各複製のデバッグ/分析に使用できます。表示する出力コンソールまたはシステムコンソール、シナリオ、複製を選択します。