Anylogic为模拟实验的每次迭代导入新的Excel文件



在我的anylogic模型中,我的代理从基于Excel文件的数据库表中接收参数。在Excel文件中,每个单元格都存储了自己的代码,因此每次打开文件时,单元格值都会发生变化。

我希望每次自动运行我的模型时,Excel文件都会随着数据库表(即代理的参数值发生变化(而再次读入。在">参数变化实验";我在">迭代后":

String tempString = excelFile_DatabasisLinks.getCellStringValue(1, rowCounter, 1);
ModelDatabase modelDB = getEngine().getModelDatabase();
Database myNewFile = new Database(this, "rohdaten2", tempString);
modelDB.importFromExternalDB(myNewFile.getConnection(), "Rohdaten", "rohdaten", true, false);
rowCounter += 1;

我有这个anylogic帮助页面的代码。使用变量来更改文件(即文件(的路径似乎是可行的(任何逻辑都不会抛出错误(。

在当前使用的伪模型中,代理在源处接收它们的参数
在水槽处,参数值通过集合写入另一个excel(结果(文件。

我在数据文件中放入了明显的模式,看看数据是否发生了变化,但我的结果文件中总是收到相同的excel文件
我读到anylogic将excel表复制到其临时文件中,以使模拟运行更快。我希望上面的代码是一个变通方法,但事实并非如此
我非常感谢您对如何使这项工作发挥作用提出的任何建议!

我找不到上面的代码有什么问题,也找不到如何让它工作
但是,我找到了一个变通方法,使用";excelFile"-阻止
在主代理(所有其他代理居住的代理(中;"启动时":

excelFile.readFile();

确保每次运行前都更新excel文件。通过添加参数

agent.set_<parametername>(excelFile.getCellBooleanValue( sheet number, row number, column number)

"在退出时";在源中
我希望这能帮助每个有类似问题的人。

最新更新