Anylogic - 在 Anylogic 中自动多次运行仿真模型
Anylogic - Automate multiple runs of a simulation model in Anylogic
我有一个用 Anylogic 编写的仿真模型。模拟的输出会自动导出到 excel 文件。我需要 运行 模拟大约 20 次 对于 10 个场景中的每一个,每个 运行 每个 运行 需要大约 30 分钟。我怎样才能自动化这个过程?此外,我希望能够 为每个 运行.
模型 传递一些参数
如有任何建议,我们将不胜感激!
使用 Parameters Variation
实验。
您可以在 Main 启动时使用代码 int a=getEngine().getRunCount();
访问任何 运行 号码。您可以预先在 Excel 中准备输入并根据计数传递参数。
您可以为每个 运行 单独编写输出。使用以下代码作为灵感,我在每个名为 output0.csv、ouput1.csv 等的 运行 csv 文件的末尾写入 myVariable
(这发生在 Main -> On毁灭.
int a=getEngine().getRunCount();
String filename="output"+a+".csv";
try
{
FileOutputStream fos = new FileOutputStream(filename);
PrintStream p = new PrintStream(fos);
for (int i=0; i<100;i++){
for(int j=0;j<10;j++){
p.println(myVariable.output[i][j]);}} // outputs tab delimited values
}
catch (Exception e)
{
traceln("Could not write to file.");
}
我有一个用 Anylogic 编写的仿真模型。模拟的输出会自动导出到 excel 文件。我需要 运行 模拟大约 20 次 对于 10 个场景中的每一个,每个 运行 每个 运行 需要大约 30 分钟。我怎样才能自动化这个过程?此外,我希望能够 为每个 运行.
模型 传递一些参数如有任何建议,我们将不胜感激!
使用 Parameters Variation
实验。
您可以在 Main 启动时使用代码 int a=getEngine().getRunCount();
访问任何 运行 号码。您可以预先在 Excel 中准备输入并根据计数传递参数。
您可以为每个 运行 单独编写输出。使用以下代码作为灵感,我在每个名为 output0.csv、ouput1.csv 等的 运行 csv 文件的末尾写入 myVariable
(这发生在 Main -> On毁灭.
int a=getEngine().getRunCount();
String filename="output"+a+".csv";
try
{
FileOutputStream fos = new FileOutputStream(filename);
PrintStream p = new PrintStream(fos);
for (int i=0; i<100;i++){
for(int j=0;j<10;j++){
p.println(myVariable.output[i][j]);}} // outputs tab delimited values
}
catch (Exception e)
{
traceln("Could not write to file.");
}