微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Anylogic,如何创建取决于每天到达的代理数量的动态批量大小?

如何解决Anylogic,如何创建取决于每天到达的代理数量的动态批量大小?

由分布确定的多个代理 X 以定义的到达间隔时间到达源。我需要 X 也是我的 batchSize,这意味着每次有新的到达时,batchSize 需要更改并调整到该到达的 X 数量的代理。

我尝试在退出时使用 source.count() 然后使用 batch.set_batchSize(),但由于 source.count() 在新到达之前不会设置为 0,所以它不起作用。

有什么想法吗?非常感谢您的帮助。

解决方法

创建一个名为 batchSize 的变量,类型为 int。在来源的 On before arrival: 字段中,输入以下内容:

batchSize = uniform_disc(1,10);

当然,不要使用我使用的发行版,请使用您需要的任何一个。

然后,再次在源属性中,为 Agents per arrival: 字段写入 batchSize

在批处理块的 On enter: 字段中,写入:

batchBlock.set_batchSize(batchSize);

用您的块命名的任何名称替换 batchBlock。

应该可以。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。