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

为AnyLogic中的同一资源分配多个捕捉块的优先级

江文斌
2023-03-14

我有一个不太典型的场景,我不知道如何继续:

  • 有两个车站位于两个不同的位置
  • 两个站点需要相同的资源
  • 一旦释放,资源将从一个站点移动到另一个站点。所以它一直从1号站到2号站再到1号站等等,直到它再次被抓获。这是通过从发布块的资源进程端口添加链接来建模的。因此,除非条件适用,否则它不会完全释放。条件是有代理在同一资源的捕获块队列中等待。因此,它应该继续移动,直到再次需要它。棘手的部分是,该资源有两个抓取块,每个站一个。代理可能已准备就绪并在两个站点的资源捕捉元素中等待。我在发布时添加了资源过程的图像。因此,在“SelectOut4”中,它检查站点1的抓取元素是否有代理在等待,如果有,则释放资源并可以抓取。否则,它将移动到桩号2,并对桩号2进行相同的检查

我担心的是,可能会出现这样的情况,即两个电台都有特工在各自的扣押区等待。我如何确保资源将被站1的抓取元素而不是站2的抓取元素抓取,反之亦然。在两个抓取元素等待资源的情况下,是否有方法控制资源的去向?还是它总是随机的?

很抱歉我发了这么长的帖子,我希望我能够正确地表达我的想法。

共有1个答案

支才
2023-03-14

首先,我认为你的设计有点奇怪,因为你总是抓住资源。

我要做的是首先在资源中有一个状态图来控制资源从一个地方移动到下一个地方,这样你就可以更好地控制它。状态图将仅用于在资源未被占用时移动资源。这将允许这样一种情况,即您的资源正在从站1移动到站2,但有东西进入站1队列,资源可以立即做出反应,并在到达站2之前返回站1(如果您认为这样做是个好主意)

第二个是,当代理到达捕捉块时,捕捉块定义了任务的优先级,您的情况需要动态更改该优先级,据我所知,这无法完成,因此不幸的是,在捕捉块之前的等待块是一个很好的选择。

 类似资料:
  • 我想为我的代理分配优先级,然后根据该优先级对它们进行排队。我有一个代理容器,它有两个参数载体(可以是卡车或火车) 提前谢谢。

  • 很好的一天!我尝试在AnyLogic 8.7.6中构建网络模型。我有两个具有不同优先级的源(来自第一个源的数据包获得优先级2,来自第二个源的数据包获得优先级1)。来自源的数据包被传输到队列。队列应按优先级对其进行排序。 优先级参数在源代理中定义。 我做了一个简单的实验。源1每秒生成1个代理,源2每秒生成10个代理。我们看到队列是空的:( 我不知道为什么。队列没有根据它们的优先级对它们进行排序。 P

  • 我有一个AnyLogic模型,有3个连接到队列的源。如何为每个源设置其优先级(或者可以是明显的参数?)以及应该向field Agent priority写入什么(默认值为零)。在此处输入图像描述

  • 我在AnyLogic中开发了货运领域的离散事件模型。我有一个名为“truck”的代理,我在其页面和命令中定义了一个名为“冰箱”的参数

  • 非常感谢您抽出时间!