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

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

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

【问题讨论】:

    标签: java queue anylogic


    【解决方案1】:

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

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

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

    希望对你有帮助

    【讨论】:

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