如何在基于AnyLogic代理的模拟中使用单独条件

时间:2018-05-26 18:27:37

标签: conditional-statements agent anylogic

我正在尝试使用代理来模拟客户。在我构建的状态图中,我想通过定义不同的变量向每个代理应用在系统中花费的等待时间:

WatingTimeStart,WaitingTimeEnd和WaitingTime

为了给每个代理分配等待时间,我在状态之前的转换中使用以下命令我想应用条件:

this.WaitingTimeStart=time();

在下一个州,我正在使用以下内容:

this.WaitingTimeEnd=time();
this.WaitingTime=this.WaitingTimeEnd-this.WaitingTimeStart;

跟随条件的下一次转换(TolerarableWaitingTime是预定义的变量)

this.WaitingTime>TolerarableWaitingTime;

我的问题是转换不接受条件,并且没有将代理处理到下一个状态。

我可能犯了错误:

  • 向每个座席分配变量WaitingTime
  • 正确应用条件

非常感谢任何想法。

的Bastian

1 个答案:

答案 0 :(得分:0)

很难理解你的问题,但在这里:首先,你不需要使用"这个",你可以在有问题的状态之前的过渡中做:

WaitingTimeStart=time();

按惯例,您的变量应以小写字母开头,因此它应为waitingTimeStart

但是你甚至不需要那些代码而你自己也太复杂了...如果你想申请等待时间(或延迟)你不需要条件转换,你可以使用超时转换,其中超时时间等于TolerarableWaitingTime

Qt docs