AnyLogic:Monte Carlo 离散事件仿真中的总延迟时间仿真
AnyLogic: Monte Carlo Simulation for total delay time in a Discrete Event Simulation
我打算做一个Monte Carlo模拟,但是AnyLogic页面上的介绍并没有真正帮助我。我想通过 uniform(0,1) 和 运行 模型改变一个参数 1000 次,并将结果保存在 excel sheet 中。
我的想法是有一个名为“durchlaufzeit”的变量,它在接收器处获取模型时间。所以在水槽里我说 durchlaufzeit = Math.round(time())
。这是获得总延迟时间的正确方法吗?还是有其他选择?
接收器中的命令如下所示:
所以在Discrete Event Simulation的最后我想把整个仿真的延迟时间写进我的ExcelSheetergebnisse
。我通过以下方式创建了一个 monte carlo 实验:
在我看来,蒙特卡洛应该执行我写入接收器的代码。但是,当我 运行 Monte Carlo 我有以下问题:
如果我注释掉有问题的代码片段,则会执行 MonteCarlo 实验,但是当我查看我的 Excel Sheet 时,没有数据写入它(来自放置在接收器上的代码)。我哪里弄错了?
这是我对您的问题的调查结果
您在为 Monte Carlo 实验创建的默认 UI 中遇到的错误只是由于 AnyLogic 自动 UI 创建器的缺点。
我没有看到任何将 durchlaufzeit
值写入 excel sheet
的代码
你确定在实验后关闭Excelsheet吗?
您是否完成了教程并使用 Excel 文件查看了示例模型子? https://anylogic.help/anylogic/connectivity/excel-file.html#excel-file
以上是我的建议:
如果您想 运行 进行多次实验,尤其是在 parralele 中,您必须从模型外部提供要写入的文件。否则 Main 的每个实例都将创建并覆盖其他实例创建的现有文件...
因此您需要 Monte Carlo(或您的正常实验页面)上的文件对象和 main 上的参数以将其传递给。
出于各种原因,我永远不会使用 Excel,而是使用文本文件。它体积小,重量轻,很容易只写在下一行,可以在 Excel 中打开,最重要的是 - 它是线程安全的。
所以我会有这个设置。
重要的是要记得关闭文本文件。
对于这个简单的测试,我在 Main 上有一个事件,它将一些随机数据写入 Main 上的 textFile
参数,该参数的类型为 TextFile
.
在 运行 进行 10 次迭代的 Monte Carlo 实验后,我在文本文件中得到 10 个随机数。
我打算做一个Monte Carlo模拟,但是AnyLogic页面上的介绍并没有真正帮助我。我想通过 uniform(0,1) 和 运行 模型改变一个参数 1000 次,并将结果保存在 excel sheet 中。
我的想法是有一个名为“durchlaufzeit”的变量,它在接收器处获取模型时间。所以在水槽里我说 durchlaufzeit = Math.round(time())
。这是获得总延迟时间的正确方法吗?还是有其他选择?
接收器中的命令如下所示:ergebnisse
。我通过以下方式创建了一个 monte carlo 实验:
在我看来,蒙特卡洛应该执行我写入接收器的代码。但是,当我 运行 Monte Carlo 我有以下问题:
这是我对您的问题的调查结果
您在为 Monte Carlo 实验创建的默认 UI 中遇到的错误只是由于 AnyLogic 自动 UI 创建器的缺点。
我没有看到任何将
的代码durchlaufzeit
值写入 excel sheet你确定在实验后关闭Excelsheet吗? 您是否完成了教程并使用 Excel 文件查看了示例模型子? https://anylogic.help/anylogic/connectivity/excel-file.html#excel-file
以上是我的建议:
如果您想 运行 进行多次实验,尤其是在 parralele 中,您必须从模型外部提供要写入的文件。否则 Main 的每个实例都将创建并覆盖其他实例创建的现有文件...
因此您需要 Monte Carlo(或您的正常实验页面)上的文件对象和 main 上的参数以将其传递给。
出于各种原因,我永远不会使用 Excel,而是使用文本文件。它体积小,重量轻,很容易只写在下一行,可以在 Excel 中打开,最重要的是 - 它是线程安全的。
所以我会有这个设置。
重要的是要记得关闭文本文件。
对于这个简单的测试,我在 Main 上有一个事件,它将一些随机数据写入 Main 上的 textFile
参数,该参数的类型为 TextFile
.
在 运行 进行 10 次迭代的 Monte Carlo 实验后,我在文本文件中得到 10 个随机数。