微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 AnyLogic 进入队列时,agent.goToPopulation 不起作用

如何解决使用 AnyLogic 进入队列时,agent.goToPopulation 不起作用

我希望能够使用队列的 On Enter 操作,使用以下方法将代理添加到特定人群:

agent.goToPopulation(expeditedCases);

enter image description here

但是在运行时,我看到队列已满,但没有代理进入任何代理集合?

enter image description here

解决方法

到目前为止,您运行模型的方式纯粹是 DES,因此您的代理不属于任何群体,这就是您使用的函数不起作用的原因。相反,请在源代码处执行以下操作:

enter image description here

当然,使用所需的代理类型代替 A。

,

您的方法确实有效,但是,由于您在队列之后没有任何东西可以容纳您的座席,他们会立即进入 Sink,此时他们会从他们所在的人群中移除。

默认情况下,Source 块将代理添加到隐藏的默认群体中(您可以很好地将其移至另一个群体):您可以通过 getDefaultPopulation() 访问它。如果您需要尚未分配到队列的代理也存在于特定命名的群体中,您可以使用 Source 块将它们添加到定义的自定义群体中。

然而,在像这样的“纯”过程模型中,这种对代理群体的使用并不是正常的方法。如果需要,您无论如何都可以访问每个队列中的代理(通过队列的 agents 函数)。并且,例如,这也可能/相反是您希望通过代理的动画直观地显示的内容(例如,根据他们所在的队列/状态使用不同的颜色)。这需要使用空间标记(或为代理分配坐标),以便在它们在流程中移动时使它们存在于空间的某处。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。