如何将概率分布与代理相关联 - Anylogic

Posted

技术标签:

【中文标题】如何将概率分布与代理相关联 - Anylogic【英文标题】:How to associate a probability distribution to Agents - Anylogic 【发布时间】:2018-08-03 17:48:06 【问题描述】:

我在 Anylogic 上模拟一个模型,其中代理从队列块流向服务块。 我需要用这样的概率分布来定义代理在服务中花费的时间:

- 70% 的人在服务中花费了 15 到 30 分钟的时间间隔(应该是均匀分布,如:uniform(15, 30))

-其中 20% 在 30 到 45 分钟之间

-其中 10% 在 45 到 60 分钟之间

我已经为代理关联了一个名为“timeInService”的参数,我想我应该使用它,也许还有服务的 Dalay 时间,但我不知道怎么做。

非常感谢!

【问题讨论】:

【参考方案1】:

关于服务块的延迟你可以放这段代码:

uniform()<0.7 ? uniform(15,30) : (uniform()<2/3 ? uniform(30,45) : uniform(45,60))

这会给你你想要的。 另一种选择是在进入服务块之前的块上,您在“退出时”执行此操作:

double rand=uniform();
if(rand<0.7)
    agent.timeInService=uniform(15,30);
else if(rand<0.9)
    agent.timeInService=uniform(30,45);
else
    agent.timeInService=uniform(45,60);

在服务延迟中你把agent.timeInService

这是两个可能的选择。

【讨论】:

以上是关于如何将概率分布与代理相关联 - Anylogic的主要内容,如果未能解决你的问题,请参考以下文章

AnyLogic 如何以一定的概率从总体中选择代理?

AnyLogic 的到达率是泊松分布吗?

如何从数据库中读取概率分布并将它们保存在集合中

Anylogic:你能在编辑框中输入概率分布吗?

Anylogic初始化状态块

如何在 Anylogic 中创建与特定代理的连接并为代理显示动画连接