AnyLogic:通过复制有效地导出实验中的数据



我正在做一个参数变化实验,每个迭代有1000个复制。对于这些模型运行中的每一个,我都希望存储Main中数据集的副本。我目前的设置是,在每次模拟运行后,我都会使用实验中的After simulation run字段将该数据集写入excelfile,代码如下:

ds_export.fillFrom(root.ds_costAll);
excelfile.writeDataSet(ds_export, 1, 2, 1 + i*2);

其中,i是当前迭代的计数器。

但是,我遇到了一些性能问题。我相信ds_costAll的副本正在我的系统内存中存储,以期待我的实验完成,并将其写入优秀者。这意味着我的系统的内存利用率接近100%,而cpu几乎没有问题。我的系统有16gb的内存,实验的最大可用内存也是16gb。有没有办法更有效地导出这些数据?

您在运行时使用了多少内核?工具->首选项->运行时->并行执行的进程数

可能是一个减少一点的选择。

最新更新