如何在Anylogic中同时运行代理?

时间:2018-01-30 14:34:35

标签: agent anylogic statechart

如何在Anylogic中同时运行代理? 当我在Anylogic中定义一些代理然后运行程序时,所有代理都没有同时运行。这意味着所有代理人都处于第一状态,然后其中一人进入某个状态,其他人等到轮到他们。我的问题有解决方案吗? 罐。

1 个答案:

答案 0 :(得分:0)

即使您对每个代理进行并行处理,您所要求的也不会发生。

假设您的每个代理都有一个初始状态X,其超时转换将在1秒后发生到状态Y.

会发生什么事? 好吧,你会看到每个代理人将一个接一个地从X移动到Y ...是的,但如果你检查每个代理从X移动到Y的时间,它将完全相同。 使用time()函数发现所有代理将以完全相同的毫秒移动到状态“Y”。

总之,您的问题可能不是问题,您只是对发生的事情感到困惑。

作为类比,尝试创建一个与此相当的代码,其中“aux”的所有元素同时等于2:

for(int i=0; i<100; i++){
     aux[i]=2;
}

如何创建一个代码,使“aux”的每个元素同时等于“2”? 嗯,这是不可能的...因为计算机按顺序运行所有内容,即使你并行处理所有内容,它们仍然不会同时等于“2”...

但是在模拟的虚拟时间是,所有代理将在完全相同的时间运行。在你的手表实时,不,它们不会同时运行......