当前位置: 首页 > 知识库问答 >
问题:

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

萧韬
2023-03-14

如何从代理中引用Main

我有一个由1个代理组成的资源池,在Main中移动项目。在那里,使用过程建模库对过程进行建模。代理既不进入也不退出流程模型,而是无限期地运行<现在,我想向我的代理添加一个状态图,在该状态图中,我想测试代理是否主要到达某个队列块。然而,我不能从我经纪人的状态图中引用Main。“get\u Main()”和“Main”都不起作用,因为我也没有带Main的箭头(我在参考模型上看到过)<我正在使用Anylogic 8.1,这是我在参考模型中找到的主箭头

编辑:我找到的解决方案:使用一个变量并将其设置为Main,您可以在这个变量上引用Main中的项。

共有1个答案

子车高歌
2023-03-14

两个选项:

>

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

    使用getEngine()。getRoot()在模型中的任意点。只要您的顶级代理是Main(正常情况下),它就会工作。您可能需要将其转换为((Main)getEngine())。getRoot())

  •  类似资料:
    • 谁能帮助我如何创建一个新的代理人,并将其链接到旧的,以治愈人民? 多谢!

    • 在我的AnyLogic模型中,容器代理在主代理中移动到不同的位置。 Main包含位于特定位置的多个块代理实例。Block包含一台多桥桥式起重机,该起重机应能捡起集装箱并将其运至当地仓库。 当容器被放置在块的起重机范围内的吸引器处时,块内的一个进程被调用。此进程包含入口、移动起重机和出口块。在移动起重机块中,在抓取步骤中,AnyLogic给我以下错误: 所有块代理都位于main中的不同坐标处。它们各

    • 我正在AnyLogic中构建DES-ABM混合模型。代理通过DES块,其中有多个延迟块。 我该怎么办 访问处于延迟块或延迟状态的代理 访问触发延迟块“进入”操作的特定代理 我的最终目标是在代理框架上打开或关闭一个阀门对象,这样我才能/如何打开或关闭a.在代理框架上打开或关闭阀门,直接形成主/根框架(延迟块位于该框架上),或者如果这是不可能的B.在特定代理内发送消息或触发状态图,然后从特工自己的框架

    • 我试图使用Anylogic Pastern library进行建模,其中一个agent(A)将与另一个agent(B)通信,只有当另一个agent在A的特定视角和弧半径内时。传统的通信方式是定义一定的基于距离的通信,其中定义的距离形成围绕该agent的球体。但我想建模,代理将无法与不在他视野角度内的其他代理通信(像一个圆锥形投影&一定距离)。例如,代理应该无法与身后的其他人进行交流。我怎么能这么做

    • 我有一群“乘客”代理人,其中每一个代理人都会向另一个“机场”代理人发出请求(“OrderPassenger”代理人类型)。此时,“机场”代理人必须通过“机场建议”代理人响应请求,并将其发送给“乘客”群体中的特定“乘客”。 我尝试使用:send(airportSuggestion,main.passengers(orderPassenger.passenger));但是乘客。乘客不是整数类型。 我尝