如何解决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 举报,一经查实,本站将立刻删除。