首页 文章

源块中的比率是固定利率吗?

提问于
浏览
0

我有一个简单的源模型,我只是将“速率”改为每小时6 . 我希望每小时生成一个固定的6个代理,但似乎在0到60分钟的第一个小时内,只生成了3个代理 . 类似地,在60-120分钟的时间内,仅生成了5个代理 .

在Anylogic或类似的东西中是否有一个热身期解释了发生了什么?

2 回答

  • 1

    另一种方法是在固定时间内使用到达间隔时间 . 这将为您提供与Felipe的答案相同的结果,但只需少一个对象,因为您不需要该事件 .

    关于这种方法需要注意的几个重要事项:

    • 而不是6.0,使用参数会更好 . 你可以调用这个参数dArrivalsPerHour . 这将使您的源块在将来更容易阅读,并为您提供更好的灵活性 . 你的到达时间是1.0 / dArrivalsPerHour .

    • 确保至少除以(1)double . 如果你做了1/6,java实际上会返回0!这是因为在Java中,两个相互分开的整数返回一个整数,因此java只会截断小数 . 如果使用参数,只需将其类型设置为double . 通常要特别注意以后不小心将我的参数类型更改为整数的人,我仍然会继续使用1.0 .

    • AnyLogic在此方法中没有到达时间零点 . 首次到达时间为0.166小时 . 如果你想要在零时间到达,接着是这个模式(它仍然是每小时6个,只是在它开始时移动),那么你有几个选择 . 首先,您可以使用Felipe的方法并将第一个出现时间设置为零 . 另一种方法是在完成模型的任何初始化代码后调用启动注入 .

    快乐造型!

  • 0

    源块每小时不产生恰好6个试剂,它使用泊松分布产生试剂,平均每小时6个(λ= 6) . 因此,每小时获得的代理商数量将是随机的 . 但是你在第一个小时总共得到3而在第二个小时得到5的原因是你有一个固定的种子:
    simulation experiment
    你可以在随机选项卡下点击你的模拟实验找到该选项 . 如果您更改为随机种子,它将每小时生成不同的代理,而不是总是3和5 .

    要每小时 生产环境 6个,您需要使用一个活动 . 但首先创建一个通过注入生成代理的源:
    source

    并且事件每小时运行6次,向源添加1个代理:
    event

相关问题