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

“While 循环”在我的 Anylogic 模型中不起作用

如何解决“While 循环”在我的 Anylogic 模型中不起作用

我有我之前在 Stack 上发布的模型。我目前正在通过 5 个流程图块运行迭代,其中包含输入块和服务块。当代理填充流程图 5 中的服务块 5 时,出口块应开始填充块 1,依此类推。我已经使用 While 无限循环在五个流程图块之间循环,但它不起作用。

while(true)
{
  for (Curing_Drying currProcess : collection) {

    if (currProcess.allowedDay == (int)time(DAY)) {
       currProcess.enter.take(agent);        
         }   
}
if (queue10.size() <= Throughtput1){
  break;
}

}

Image for further illustration 1 Image for further illustration 2 想知道是否有人可以告诉我代码中有什么问题。

解决方法

根据描述和提供的图片,不清楚为什么需要 while 循环。 On exit 操作在每个 Agent 到达 Exit 块时执行。似乎意图是根据自模型开始时间以来的天数找到合适的 Curing_Drying 块?如果是这样,那么只需遍历 collection 就足够了。

此外,为集合提供更有意义的名称通常是一个好习惯。简单地使用 collection 并没有说明内容,而且以后可能会变得非常混乱。

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