在 Anylogic 中添加/注入代理到队列

Posted

技术标签:

【中文标题】在 Anylogic 中添加/注入代理到队列【英文标题】:Add/Inject Agent to Queue in Anylogic 【发布时间】:2016-08-19 05:15:41 【问题描述】:

我在 Anylogic 中有一个混合模型,其中我的一些代理必须将部件(也是代理)添加到离散事件模拟队列。

从队列中获取代理是通过queue1.removeFirst(); 完成的,但我似乎找不到添加内容的等价物。 我试过addAgentToContents 没有运气...

【问题讨论】:

【参考方案1】:

您不能直接将代理添加到队列中。

您可以在它前面放置一个源对象并将其“Arrival defiend by”属性设置为“inject()”。还将其“新代理”类型设置为部件。当您的代理想要将零件添加到队列中时,您可以致电source.inject(),然后将零件添加到队列中。

或者,如果您已经创建了部分代理,则可以使用代理中的端口并使用连接器将其链接到您的队列。这两个对象都可以在“代理”库中找到。

希望对你有帮助

【讨论】:

谢谢本杰明。我一直在尝试建立连接,但我仍然必须以某种方式“发送”零件。有 send 方法,但它只处理消息......你知道怎么做吗? 消息可以是任何类型,而不仅仅是字符串。如果您在 Javadoc 中查看 Port 的“send”方法,它会告诉您参数“msg”的类型是“Object”,这意味着它可以是任何东西。 最终使用 Enter 流程​​块将 Part 代理“发送”回流程图表 这是我忘记提及的第三个选项...在 AnyLogic 中实现某些目标总是有多种方法,而且通常取决于您现有的结构。 @jacandau 你是如何将代理与队列连接起来的?我使用连接器连接代理和队列,导致此错误“离散事件执行期间出现异常:root.queue.input:InPort 只能连接到 OutPort”

以上是关于在 Anylogic 中添加/注入代理到队列的主要内容,如果未能解决你的问题,请参考以下文章

Anylogic,动画队列

在 Anylogic 中创建已在队列中的代理集合

如何将代理关联到优先级范围 Anylogic

Anylogic:如何让代理在队列中等待直到它改变状态? (离散事件流程图)

在 AnyLogic 中导航到代理/代理的默认视图?

Anylogic自定义代理未加载?