0

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

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

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

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

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

非常感谢!

4

1 回答 1

0

关于服务块的延迟,您可以输入以下代码:

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

这是两个可能的选择。

于 2018-02-23T17:25:00.837 回答