与代理连接时清空集合 Anylogic

Posted

技术标签:

【中文标题】与代理连接时清空集合 Anylogic【英文标题】:Empty collection Anylogic whilst connected with agents 【发布时间】:2022-01-18 18:16:54 【问题描述】:

我正在尝试为异构车队的多站点车辆路径问题创建一个模拟程序。当我创建代理(车辆、仓库和消费者)时,我将它们连接到数据库。在创建站点和消费者代理后,数据库值(纬度和经度)通过 GIS 纬度和 GIS 经度连接到 GIS 地图。然后使用 Excel 中的数据,代理是非空的。但是,当我尝试创建一个集合以迭代地使用各个代理时,该集合仍然是空的。

Collection from anylogic as designed now

有人知道为什么集合是空的吗?我该如何解决这个问题?

【问题讨论】:

这可能是因为当您在时间 t=0 创建集合时,您的代理尚未创建...可能会在 1 毫秒后创建带有事件的集合 【参考方案1】:

您创建的集合只是说它需要消费者类型的对象。所以它只是创建列表而不添加任何东西

一种选择是在代理的启动时代码中添加一些代码,以便在创建时将其添加到集合中

请记住,population 对象可以作为一个列表,它是可迭代的,并且您可以通过索引访问对象...因此不需要单独的列表。

【讨论】:

Jaco-Ben 这正是我所需要的。非常感谢!【参考方案2】:

集合不会自动填充。您必须使用函数填充集合。

但如果您只想遍历代理,则不需要集合。您可以迭代代理群体。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于与代理连接时清空集合 Anylogic的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Anylogic 中创建与特定代理的连接并为代理显示动画连接

在 Anylogic 中检查墙壁是不是存在

Anylogic:测量服务时间

Anylogic,动画队列

如何在anylogic中将nXn矩阵添加到数据库中的集合

python3 Set集合与数据转换函数