使用参数(%)定义代理,并在main中基于延迟时间。 (AnyLogic的)

时间:2018-03-18 07:05:29

标签: random parameters simulation flow anylogic

我在Anylogic仍然很新,但到目前为止真的很享受。

我有一个简单的模型,它有一个名为“乘客”的独立代理。在乘客里面,我有一个名为' WITH_CHILDREN'它的默认值是randomTrue(0.5)。

在我的主要流程中,我希望乘客能够获得' WITH_CHILDREN'在特定的延迟过程中需要更长的时间。

我认为它会像(在延迟的输入操作中):

if(passenger.WITH_CHILDREN == true){

    delayTime = triangular(1,5,15);
else{
    delayTime = triangular(0,1,1.5);
}

然而,这有很多错误:( 我想把它从代理链接到反对设置延迟的百分比,因为我有未来的百分比参数将用于其他延迟....如果这是有道理的。

任何帮助将不胜感激,谢谢! :d

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码直接在延迟块的延迟时间内定义它:

agent.WITH_CHILDREN ?  triangular(1,5,15) : triangular(0,1,1.5)

并且因为图像优于1000个单词(我在图像中犯了一个错误......它是代理人而不是乘客。 delay time magic

当你在动作中使用delayTime时,它只是一个可读的变量,你无法改变它。

了解一下?和:这里的java中的运算符: http://www.cafeaulait.org/course/week2/43.html