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

AnyLogic:如何在AnyLogic中引用延迟块中的代理

麻书
2023-03-14

我正在AnyLogic中构建DES-ABM混合模型。代理通过DES块,其中有多个延迟块。

我该怎么办

  1. 访问处于延迟块或延迟状态的代理
  2. 访问触发延迟块“进入”操作的特定代理

我的最终目标是在代理框架上打开或关闭一个阀门对象,这样我才能/如何打开或关闭a.在代理框架上打开或关闭阀门,直接形成主/根框架(延迟块位于该框架上),或者如果这是不可能的B.在特定代理内发送消息或触发状态图,然后从特工自己的框架?

我尝试使用“延迟块名”。agents()函数,但它不起作用,当我使用traceln检查时返回[]。

共有1个答案

司寇飞航
2023-03-14

访问处于延迟块或延迟状态的代理

使用关键字代理。对于不同的库块,这些关键字是不同的,所以最好开始了解灯泡以及它的帮助,请参见此处。

访问触发延迟块的on enter动作的特定代理?

在"On enter"块中编写代理时,每个通过的代理都会执行该代码,因此根据定义,它总是特定的代理:)

我的最终目标是在代理框架上打开或关闭一个阀门对象,这样我才能/如何打开或关闭a.在代理框架上打开或关闭阀门,直接形成主/根框架(延迟块位于该框架上),或者如果这是不可能的B.在特定代理内发送消息或触发状态图,然后从特工自己的框架?

这与你最初的问题完全不同,只是。。。凌乱的请将问题限制为一个主题,以便我们轻松回答:)(有关更多信息,请参阅本指南)

 类似资料:
  • 我是AnyLogic的新手,正在构建一个学生服务模拟,在其中我认为如果学生带着简单的问题来到服务中心,工作人员可以快速解决,否则会花费工作人员更多的时间。我使用statechart来实现学生的问题类型:在此处输入图像描述 我将相应的延迟时间设置为:在此处输入图像描述 一旦我尝试构建,编译器给我一个错误:在这里输入图像描述 这是什么意思?有人能告诉我怎么解决吗?

  • 我正在尝试用我的抓取块动态选择一个资源池。我的代理工作区(WP)有一个简短的过程,包括一个抓取延迟释放序列。在topagent中,WP用于excel输入定义的不同区域。由于WP代理数量和位置的动态生成,有必要从当前区域的资源池中找到资源。 然而,我不知道如何解决这个问题。我可以将名称创建为字符串,因此我尝试了,但不知道这些块是否在填充/集合中。无论如何,我找不到关于这件事的线索。我知道有一种资源池

  • 如何在Anylogic中获取块队列中的代理列表?在我的模型中,目前位于队列中的每个代理A都是包含一些代理B的容器。我必须计算代理B。为此,我尝试获取队列中代理A的列表: 但是队列。contents()返回一个空列表。你能帮我吗?谢谢。

  • 希望你们都平安无事 假设我有以下过程:2个不同的源,队列,延迟,和接收器。我有一个叫“病人”的探员。 我的目标:有不同的服务率(延迟时间)的病人谁是来自第一来源(使用百分比)。换句话说,我想有一个例子;10%的患者(来自源1)延迟时间等于5分钟,90%的患者延迟时间等于10分钟。 我所做的:是我为代理(病人)分配了一个名为“百分比”的参数。并使用我键入的第一个源的“On exit” 然后在延迟时间

  • 我正在实现AnyLogic 7.3.1的银行办公室示例。我在源代码块中创建了20个代理。当任何代理进入源代码时,我想分配代理ID。我为此编写了这块代码。 有一个customer类,我将enteredSystem变量声明为double。count是在主类的图形编辑器中声明的静态变量。 我想将这个customerId移动到队列块,然后延迟,但当我在文本文件中写入它时。customerId重复。帮助我。

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