【发布时间】:2019-11-21 05:56:40
【问题描述】:
我在 Anylogic 中模拟一条生产线,由七个通用流程组成。
我在模型中使用的主要模块是:抓住、延迟和释放。在模型运行过程中,队列一直在创建(增加和减少)。
我的问题是:我应该如何保存模型中每个队列的最大值及其持续时间,然后将其导出到 excel 文件?
我尝试使用数据集和统计信息获取器图标,但这些仅显示运行期间队列的变化。
【问题讨论】:
我在 Anylogic 中模拟一条生产线,由七个通用流程组成。
我在模型中使用的主要模块是:抓住、延迟和释放。在模型运行过程中,队列一直在创建(增加和减少)。
我的问题是:我应该如何保存模型中每个队列的最大值及其持续时间,然后将其导出到 excel 文件?
我尝试使用数据集和统计信息获取器图标,但这些仅显示运行期间队列的变化。
【问题讨论】:
使用Statistics element 定期(默认:每秒一次)记录有关您的队列大小(例如最大、最小等)的统计信息:
您可以通过调用检索此统计元素记录的最大值:
myStatistics.max();
例如,您可以通过在 Main 的 On destroy 代码中编写以下代码来输出此值:
traceln(myStatistics.max());
要将某些内容导出到 Excel,请从 Connectivity 面板添加 Excel 模块并将其设置为现有的 Excel 文件。
如documentation of the Excel module 中所述,将单个值写入 Excel 的命令如下:
void setCellValue(<type> value, int sheetIndex, int rowIndex, int columnIndex)
在你的情况下,把它放在你的 On destroy Main 代码中:
excelFile.setCellValue(myStatistics.max(),1, 1, 1);
【讨论】: