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

我如何在 Anylogic 中释放 Waitblock

如何解决我如何在 Anylogic 中释放 Waitblock

我们是一群没有太多编程经验的学生。我们的任务是模拟一个循环过程,其中门在铣床上经历至少 3 个加工步骤。我们希望优先考虑产品,例如如果在传送带 1 上有一扇厚度为 43 毫米(门上方的红色数字)的门,则其上不应有其他厚度的门。我们的想法是使用一个等待块,它应该只在以下情况下释放下一个代理: 厚度相同或传送带 1 为空 为此,我们在图片中使用了以下代码

enter image description here

但是代码:wait.free(agent.door);当传送带 1 上的当前代理离开它时不起作用。在进行模拟时,我们不会收到错误代码。欢迎其他想法。

最好的问候

解决方法

当传送带1上的当前代理离开它时,放置相同的代码wait.free(agent)

退出时添加代码

if(wait.size()>0) {
    AgentType x=findFirst(wait,a->a.thickness==conveyorThickness);
    if(x!=null)
           wait.free(x);
}

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