如何在 Collection anylogic 中创建多维数组?

Posted

技术标签:

【中文标题】如何在 Collection anylogic 中创建多维数组?【英文标题】:How to create multidimensional arrays in Collection anylogic? 【发布时间】:2019-07-06 09:39:59 【问题描述】:

我正在尝试在我的 anylogic 模型中创建一个多维数组(数组必须自行增长,我不想要最大输入容量 - 因此我选择了集合而不是变量)。该数组应包含:日期、产品类型和产品生产线的编号。这些值很容易获得(它们是我正在生产的产品的特征)。但是我在初始化我的数组并向其中添加信息时遇到了一些麻烦。有人能帮我吗?我希望 anylogic 每次我的产品进入我的库存时都在数组中添加一个入口,这样我就可以知道在同一天生产了每种类型的产品数量。

【问题讨论】:

【参考方案1】:

您应该创建一个类...但为了更容易,请创建一个名为 myAgents(MyAgent 类型)的代理群体。

每个 MyAgent 都会有参数 date、typeOfProduct 和 lineNumber

当您的产品进入您的库存时,您会在人群中添加一个新代理:

add_MyAgents( date, typeOfProduct, lineNumber);

然后如果你想计算有多少代理属于某种产品类型:

count(myAgents,a->a.typeOfProuduct==X);

其中 X 是您要计算的产品类型

【讨论】:

非常感谢您的帮助!现在我遇到了其他麻烦。因此,当我的生产线停止生产并创建这个新代理“myAgent”时,我想将它插入另一行(因此另一个流程流程图通过源或输入块)。可能吗?我不太确定该怎么做。 通过输入块很容易... enter.take(myAgent)

以上是关于如何在 Collection anylogic 中创建多维数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AnyLogic 中读取行中的不同列?

Anylogic“如何”问题

在 Anylogic 中,如何从项目列表中随机选择

anylogic:如何查看模拟日期和时间

如何将概率分布与代理相关联 - Anylogic

如何设置 Anylogic 优化实验?