java - 如何以不同的批量大小批量处理具有相似参数的代理?
问题描述
我有一个名为products的代理,在这个代理中,我分配了一个名为sp的参数;在模拟中,我有相同的代理,其sp范围从 1 到 5 不同。我想在同一批次中对具有相同sp的代理进行批处理,具体取决于sp。因此,如果我有 200 个代理,其中 49 个sp等于 1,我想将它们分成 4 个批次,因为这个sp的批量大小是 10,剩下的 9 个代理等到下一个周期,对于sp等于 2,我有 33 个代理,批量大小为 7,我想分 4 批进行批处理,剩下的 5 个代理等到下一个周期,依此类推。
我非常感谢您能提供的任何帮助。
这是我的最后一个问题,类似于这个问题: Anylogic: how to Batch agent with similar parameters?
解决方案
遵循与上一个问题的答案相同的逻辑,等待块后跟批处理块......在等待块的输入时,您需要检查是否满足批处理条件......
List <Product> sameSpProducts=findAll(self,s->s.sp==agent.sp);
if(agent.sp==1 && sameSpProducts.size()==10){
theBatchBlock.set_batchSize(10);
for(Product p : sameSpProducts){
self.free(p);
}
}
对于所有其他 sp 值都相同...您可以通过使用具有 sp 值的数组并循环遍历该数组来提高效率(与上一个问题中的回答相同)...这代表了一般理想
推荐阅读
- python - 无法在 python 中使用 Selenium 抓取网站(没有错误但没有工作)
- python - 在 Python 的 .apply() 调用中使用 lambda 函数时,如何调用第二个函数?
- excel - ISBLANK(INDEX.... 无法识别空白单元格
- php - Eloquent:从 `hasMany` -> `hasOne` 关系中获取“最大值”
- apache-flink - 收集后 Flink TestHarness 输出不清除
- java - 如何在keycloak登录页面中选择语言环境,而不是用户默认语言环境?
- javascript - 如何从 Reanmited Value 中获取数值?
- angularjs - PDFJS:文本层渲染两次
- git - 无法通过 Git Bash 将 Origin Master 推送到 GitHub
- python - 如何在 python 中使用 plotly 制作混合统计子图?