エクスペリメント・フレームワーク

AnyLogicは、効率的にシミュレーション管理を可能にする豊富なエクスペリメント・フレームワーク(実行、収集、表示、出力結果の比較、測定、モデルの最適化)を提供します。マルチプル・エクスペリメントはモデルに定義することができます;エクスペリメントはスタンド・アロンのJavaアプレットあるいはアプリケーションとしてパッケージ化しエクスポートすることができます。各エクスペリメントは、スタート前後に、複製、反復等の”拡張ポイント”にアクションを指定することができ、シミュレーション結果は.csvファイルに保存しUIにおいていつでも再び読み込むことができます。例えばエクセルファイル(AnyLogic Professional)で開くことができます。サポートエクスペリメント・タイプは次のとおりです:

シミュレーション

これは、特定のパラメーター値で実行し、バーチャルまたはリアル・タイムでアニメーションを見ることができ、停止、待ち、モデル実行の再開する着実に実行できるもっともベーシックなエクスペリメントです。

モデル実行中、モデル段階のどんなレベルでもオブジェクトを利用でき、イベント、ステートチャート図、ダイナミックで明白な変動などの状態を見ることができます。

シミュレーションは、モデル・デバッギングおよびダイナミック・シミュレーションのビジュアルな実証に使用できます。この他のエクスペリメントでは、モデルを迅速に実施しますが、アニメーションでは表現できず、ブラックボックスとしてみなします。

パラメータ変化

このエクスペリメントにおいてモデルは、1つ以上のパラメータで、複数回実行されます。パラメータの範囲や段階の指定ができ、すべての組合せを試すことが可能です。あるいはパラメータ値がシミュレーションのインデックスにどう左右されるかをプログラムによってコントロールできます。

内蔵のオプティマイザーが何らかの理由で合わない場合、自分の最適化アルゴリズムを利用してこの実験に使用することができます:次のパラメーター・セットを決めるために、各繰り返し処理後にどのコードをコールするかを明示することができます。

paramvariation.jpg

最適化

AnyLogicは目的関数、制約、要件、および変更することができるパラメータ(決定変数)指定された、最適なソリューションを検索するために、組み込みのOptQuestオプティマイザを使用しています。不確実性下での最適化は、レプリケーションを使用することによってサポートされます:確率論的モデルは、同じパラメータ値を使用して複数回実行されており、パラメータ空間(次の反復)で次の動きについての決定は、その後、その集約された出力に基づいています。

AnyLogicは、自動的に最適化の進捗状況の動的なグラフを含む最適化エクスペリメントのUIを生成します。

optimization.jpg

比較

[AnyLogic Professionalの利用]

これは、パラメータ入力、シミュレーションの実行、他のシミュレーション結果と比較できるチャートにシミュレーション出力の追加が可能な相互作用のエクスペリメントです。

このエクスペリメントのデフォルトUI(ユーザーインターフェイス)は、入力フィールドと出力チャートを含みます。特定の出力結果を選択でき、そのチャートをクリックし、一致したパラメータ値を表示することができます。

compareruns.jpg

感度解析

[AnyLogic Professional利用]

この実験では、モデルパラメータの変化に対するシミュレーション結果がどのように敏感かを知るのに役立ちます。エクスペリメントウィザードでパラメータの変更と実行したい出力を選択するように尋ねてきます。

出力値を選択する「出力VSパラメータ」チャートが表示します。シミュレーション出力がデータセット(例えば時間内の一定プロセスのダイナミクス)の場合、一連のカーブは比較のために1つのチャートに表示します。

sensitivityanalysis.jpg

モンテカルロ

[AnyLogic Professional利用]

モンテカルロ・エクスペリメントは数回(確率的な)シミュレーションを実行でき、収集出力を取得し、ヒストグラムで見ることができます。確率的なモデル自体ならば、たとえ入力パラメータを変更しなくても、毎回、異なる出力を出します。あるいは、シミュレーションごとに、ランダムなパラメータ値を作成します。

モンテカルロ・エクスペリメント・ウィザードで、どれ位レプリケーションを作成するか、パラメータを変更するか、どの値またはデータセットを集計するか、ヒストグラムに表示するか尋ねてきます。レギュラーと2Dヒストグラム両方を使用しても構いません。

montecarlo.jpg

キャリブレーション

[AnyLogic Professional利用]

モデル構築時、特定の状態の行動が既知の(観察)パターンに合うように、パラメータを調整するときがあります。調整するパラメータに対して、最高の組合せを探るため、ビルトイン・オプティマイザーを使います。この場合の目的は、シミュレーション出力と測定値の差を最小にすることです。

エクスペリメント・ウィザードはどのパラメータをキャリブレーションするか、及びどのような基準を使用する必要があるかを尋ねます。複数の基準例では、係数を使用することができます。キャリブレーションの進行状況と各基準のフィッティングはデフォルトのUIに表示されます。

calibration.jpg

カスタム

[AnyLogic Professional利用]

カスタム・エクスペリメントは、パラメータを設定し、シミュレーションの実行を管理し、意思決定を行うとともに、最大限の柔軟性を提供します。これは単に、AnyLogicエンジン(methods like run(), stop(), etc.)の豊富なJava APIを使って、すべてのことを行うことができますコード記述フィールドを提供します。