Anylogic transitions - 速率条件

Anylogic transitions - Rate condition

我正在尝试使用速率逻辑在两个状态之间创建转换:我希望该事件随机发生 x 次,但仅限于有限的模型时间间隔(例如从模型时间下午 1 点到凌晨 00 点,指定此事件只能在此时间范围内发生)。 你有什么建议吗? 非常感谢, P

使用特定消息更改从速率到消息的转换,如下所示:

然后,创建一个 returns double 值的函数。函数体应该是:

if( time() < x )
  return 0;

else if( time() >= x && time() < y )
  return rate;

else
  return 0;

当然将xy替换为费率不为0的时间段的开始时间和结束时间,将rate替换为需要的费率。

然后创建触发类型速率的事件。在比率字段中写入 function()。在操作字段中写入:

if( time() >= x && time() < y )
  send( "rate", this);

发送消息之前的最后一个条件很重要,以防事件被安排在该范围之后。一个事件可能会在范围结束前一秒安排在范围结束后一秒……所以我们确保解决并避免这个问题。