0

我的来源在“退出时打开”字段中有以下代码:TRUCK.ID_number = parameter; 参数 = 参数 + 1;

然后,每辆卡车都会收到一个 ID:1、2、3、...

问题是所有卡车都在同时流通,看起来每次生成新卡车并且代码运行时它都会重置所有卡车的 ID。

例如:在源头创建卡车 4 (ID = 4) 时,所有其他卡车都收到 ID 4,因此我无法知道每辆卡车的正确 ID。

我究竟做错了什么?

4

2 回答 2

1

一些东西。首先,您需要agent在 onExit 代码框中使用关键字。所以在你的情况下,agent.ID_number=parameter. 请阅读在 AnyLogic 代码框中随处可见的这些特定关键字。我称之为“魔法灯泡”,另请参阅我关于该主题的博客:

神奇的灯泡

其次,新创建的代理会自动获得一个唯一索引(如果它们属于同一群体)。您可以使用getIndex()卡车代理内部的方法访问它。

于 2017-02-04T06:15:20.960 回答
-1

答案是:使用entity.ID_number=parameter

于 2017-02-04T22:22:45.130 回答