2017-03-09 102 views
0

我需要運行大量實驗,並希望在夜間儘可能少地浪費時間。我有一些輸出可以使用PrintWriter輸出,但我需要能夠以另一種方式編程啓動下一個實驗。以編程方式啓動AnyLogic實驗

因此,像

After experiment: 
    Experiment63.start().run();  
+0

您是否嘗試過構建實驗功能?像參數變化? –

+0

是的,但不適合我的具體需求。 –

+0

能否詳細說明您的具體需求?當你說「編程」時,你的意思是什麼?通過:anylogic,java,bash,powershell,控制檯等。 –

回答

1

如果一個參數變化的實驗沒有做什麼,你需要和你真的需要運行多張敏感性分析,試試這個:

  1. 創建一個新的Custom Experiment
  2. 刪除屬性窗口中的所有內容
  3. 使用YourExperimentClass.main(new String[] {})開始每個實驗。

例如,假設你有三個敏感性分析運行:

SensitivityToHeatExperiment.main(new String[] {}); SensitivityToSpeedExperiment.main(new String[] {}); SensitivityToFrictionExperiment.main(new String[] {});

這些調用彈出一個窗口,每個實驗。由於實驗不會自動啓動,因此如果您不想單擊「運行」一堆,則需要添加該邏輯!在每個實驗的Initial experiment setup部分中,放入run();。這會自動爲您啓動模擬。

我還沒有完全想通了如何關閉Windows會自動使用這種方法:system.exit(0)experiment.close()所有窗口被打開實驗,所以你需要一種方法來告訴我們,如果所有實驗完成後運行。一種選擇是使用通用文件和FileLock以確保模擬不會遇到併發問題。請注意,如果所有敏感性實驗都需要寫入通用文件,則FileLock可能會很方便。