如何在Anylogic中同时运行代理? 当我在Anylogic中定义一些代理然后运行程序时,所有代理都没有同时运行。这意味着所有代理人都处于第一状态,然后其中一人进入某个状态,其他人等到轮到他们。我的问题有解决方案吗? 罐。
答案 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”...
但是在模拟的虚拟时间是,所有代理将在完全相同的时间运行。在你的手表实时,不,它们不会同时运行......