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

使用SelectOutputOut块和while循环的任意逻辑功能

丁绪
2023-03-14

很好的一天!我面临着编写将代理分配到SelectOutputOut块的函数的挑战。考虑到使用if的各种场景。。。函数中的else语句我理解必须涵盖所有可能性(如此处所建议)。然而,问题是,我不希望代理在获得适当的SelectOutputOut块之前离开该函数。如果任何服务块(Network1、Network2或Network3)中没有足够的资源,则可能会出现这种情况。在这种情况下,需要等待任何服务块都有足够的资源为代理提供服务。为此,我尝试使用while循环,但没有任何帮助。问题是:

  1. 如何编写if-etc语句以强制代理在任何服务块中等待足够的资源
  2. Select函数是否监控它之外的参数?换句话说:它在执行过程中是否知道Service块的状态?

谢谢你。

共有1个答案

萧业
2023-03-14

您需要做的是让您的代理在队列中等待,然后使用一个功能将其从队列中删除,然后将其发送到正确的服务块。最好的方法是使用enter块,您可以将它们发送到该块。

见下面的例子

然后,您需要在队列的On enter代码以及服务块的On out代码上调用此函数,以确保在有空间时始终发送新代理。

 类似资料:
  • 问题内容: 有什么方法可以使用函数打破无限循环吗?例如, 这将导致以下错误: 请说明为什么会发生这种情况以及如何解决。 问题答案: 就我而言,您不能从内部调用break,但是可以使其返回值( 例如:boolean )以停止无限循环 编码:

  • 我已经有一段时间没有编程了,我正在努力回到事情的转折点,这就是我已经走了多远。我的问题是,我如何循环第二个问题,这样,如果回答不是肯定的,它会再次问这个问题。我曾尝试在if语句周围放置一个循环,但每当我尝试从用户那里获得另一个响应时,它告诉我无法使用变量response来执行此操作。我觉得这是一个简单的修复,因为我理解循环,但我有一个困难的时候围绕着这个具体的问题我的头,提前谢谢你。

  • 我需要一个计算容量的函数。我希望函数为每个代理(agentOfPopulation)计算一个介于70和90之间的随机数。我的代码: 代码不起作用。有人有办法解决这个问题吗?

  • 我正在研究一个基于代理的流行病模型。我正在寻找将那些被感染的人的一定比例转移到另一个叫做‘死亡’的州。在AnyLogic中触发这种转变的最佳方式是什么?

  • 问题内容: 我正在尝试制作一个具有if / elif语句的函数,并且我希望if中断while循环。该函数用于文本冒险游戏,是/否的问题。到目前为止,这是我想出的。 现在我不确定我是否正确使用该功能,但是当我尝试一下时,它说我不能中断该功能。因此,如果有人可以帮助我解决该问题,并且如果函数和调用函数本身的格式错误,则可以帮助我,将不胜感激。 问题答案: 您可以例外处理: 这样一遍又一遍地循环,但是在

  • 尊敬的AnyLogic社区:, 我创建了一个模型来评估不同的自主控制方法。 我有不同到期日的代理,希望最先送达到期日最快的代理。目前,传入的代理没有任何分类,而是按照先进先出规则送达。 是否有可能在不添加单独队列的情况下修改服务块中代理的序列? 非常感谢您的时间