任何逻辑6:事件触发使用条件来源

时间:2018-03-24 18:00:11

标签: events anylogic

我正在构建一个模拟订单流程的模型,这个流程会触发生产流程。订单下达后,应启动生产流程。我的想法是使用一个名为“start production”的事件来监视一个布尔值,该事件由上面的订单实体改变。

我面临各种问题:

  1. 开始模拟时,我的startProduction变量从初始值false变为true,已经在事件中应用了起始条件

  2. 如果我在事件的操作中应用命令event.restart(),则模拟崩溃,因为任何逻辑都会不断重新检查事件条件

  3. 如何解决上述问题或根据条件逻辑的订单收入模拟生产的开始?

1 个答案:

答案 0 :(得分:0)

由于我的评论是答案,所以我也在这里添加答案。

总是可以使用事件来触发模型中的操作,但它也是最无效的方式,因为您经常运行您可能不需要的代码,从而使您的模拟速度变慢。你可以做的最好的事情就是在块的动作中触发事物。在这种情况下,生成订单时,您可以使用注入功能将代理添加到生产流程中。

另一方面,如果您的活动模式是“用户控制”,则只能使用重启功能,这可能是您收到错误的原因。