在跨模型接收相同到达时使用具有到达间隔时间的不同 lambda
Using varying lambda with interarrival time while receiving same arrivals across models
我从我之前的问题“”中了解到,对于具有相同到达率输入的两个模型,我可以通过将两个模型中的源块设置为“ Interarrival time”,并在代码中使用 exponential(lambda, 0, rand),其中 rand 是用户定义的随机数生成器 (RNG),例如,Random rand = new Random(1234)。如果在将源块设置为“Interarrival time”之前,我将其设置为“Rate Schedule”,其中时间表是数据库提供的速率类型,在我的情况下,速率 (lambda) 不是常数,这取决于在一天中的时间,将源块设置为“Interarrival time”时如何解决这个问题?
也许我理解错了这个问题,但是到达间隔时间不能转换为到达率,所以例如如果到达间隔时间= 2分钟,则到达率是每分钟0.5。如果您的模型属于这种情况,您可以在源块中使用 arrivals by: a rate schedule(如下图所示。)
之后在时间表中您可以更改不同的到达率,例如在 00:00 和 01:00 之间,到达率应为 1,如下图所示:
由于无法为到达率设置种子,因此您需要在源中使用到达间隔时间。
但是,由于您还需要根据一天中的时间改变到达间隔时间,因此您应该编写一个函数,根据一天中的时间 returns 不同的指数随机变量,并将其用作您的到达间隔次。
这是我在 AnyLogic 中的做法:
我快速绘制了每小时发生的注射次数,以验证速率 是否实际发生变化。
我从我之前的问题“
也许我理解错了这个问题,但是到达间隔时间不能转换为到达率,所以例如如果到达间隔时间= 2分钟,则到达率是每分钟0.5。如果您的模型属于这种情况,您可以在源块中使用 arrivals by: a rate schedule(如下图所示。)
之后在时间表中您可以更改不同的到达率,例如在 00:00 和 01:00 之间,到达率应为 1,如下图所示:
由于无法为到达率设置种子,因此您需要在源中使用到达间隔时间。
但是,由于您还需要根据一天中的时间改变到达间隔时间,因此您应该编写一个函数,根据一天中的时间 returns 不同的指数随机变量,并将其用作您的到达间隔次。
这是我在 AnyLogic 中的做法:
我快速绘制了每小时发生的注射次数,以验证速率 是否实际发生变化。