AnyLogic 选择输出条件

Posted

技术标签:

【中文标题】AnyLogic 选择输出条件【英文标题】:AnyLogic selectOutput condition 【发布时间】:2018-08-31 02:33:56 【问题描述】:

我正在模拟一个排队系统,其中客户加入一个名为 RDQueue 的队列,容量为 5,然后在 RDQueue 已满(达到容量)时移动到另一个名为 TDQueue 的队列。

我使用了一个 selectOutput 块,在真分支上使用 RDQueue,在假分支上使用 TDQueue,条件是:RDQueue.size()

应该有客户去 TDQueue,但是当我运行这个模拟时,没有客户通过错误的分支。

(由于某种原因,我所做的图像不会上传)

我有一个到达率为每分钟 0.361 的源和延迟时间为 RD 的延迟:指数 (8.76) 分钟。

根据排队理论,68.5% 的到达客户应该会发现 RDQueue 已满并转到 TDQueue。

TIA

【问题讨论】:

您所做的似乎是正确的...当新代理到达时,您的 RDQueue 可能永远不会等于 5?您需要提供更多信息 @Felipe 我更新了问题 【参考方案1】:

如果您的延迟时间是指数级 (8.76),则延迟时间将始终低于它们的到来速度:

指数分布的随机样本:x = log(1-u)/(−λ)

以λ=8.76,u为统一随机数,你的延迟时间期望值为0.114分钟,所以你的RDQueue被填满的概率接近0%

【讨论】:

谢谢!延迟时间应该是 8.76 分钟,所以我应该使用指数(0.114)而不是(8.76)。不知道我是怎么错过的,再次感谢!

以上是关于AnyLogic 选择输出条件的主要内容,如果未能解决你的问题,请参考以下文章

在 Anylogic 中编写停止条件

Anylogic,根据特定条件从池中抢资源

SelectOutPut (AnyLogic) 中代理类型的条件

AnyLogic - 为啥我的基于条件的转换不起作用?

我应该在哪里写 Anylogic 中动态变量的 if 条件?

在 AnyLogic 中使用代理名称作为 selectOutput 的条件