(Anylogic)如何从另一个代理引用 Main

Posted

技术标签:

【中文标题】(Anylogic)如何从另一个代理引用 Main【英文标题】:(Anylogic) How to reference Main from another agent 【发布时间】:2021-10-19 19:24:09 【问题描述】:

如何从代理中引用 Main? 我在 Main 中有 1 个代理移动项目的资源池。在那里,流程使用流程建模库进行建模。 Agent 既不进入也不退出流程模型,而是无限期地存在。 我现在希望向我的代理添加一个状态图,我想在其中测试代理是否到达 Main 中的某个 Queue Block。但是,我无法从代理的状态图中引用 Main。 'get_Main()' 和 'main' 都不起作用,因为我也没有带 main 的箭头(我在参考模型上看到过)。我正在使用 Anylogic 8.1 The main arrow I found in reference models

编辑:我找到的解决方案:使用变量并将其设置为 Main,您可以通过此变量引用 Main 中的项目。

【问题讨论】:

【参考方案1】:

两种选择:

    在 Main 上嵌入代理群体,并让您的 ResourcePool 在创建时将代理添加到其中。这将为您提供main 链接

    在模型中的任何位置使用getEngine().getRoot()。只要您的***代理是Main(正常情况),这将起作用。您可能需要将其类型转换为 ((Main)getEngine().getRoot())

【讨论】:

以上是关于(Anylogic)如何从另一个代理引用 Main的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Main 中的参数提供给 Anylogic 中的代理

anylogic,流程建模库:split.如何设置和引用代理副本的属性?

AnyLogic 为 Main 中的代理定义速度

如何将 AnyLogic 代理从一个空间移动到另一个空间?

AnyLogic——如何随机选择处于特定状态的代理

在AnyLogic中更改选定代理的主类参数