为什么 Anylogic 8.7 中的 System Dynamic delay() 函数并不总是正常工作?

问题描述

我在系统动态模型(年模型,固定时间步长 =1)中遇到 delay() 函数的问题。我想计算每一步中变量的变化。

文件中读取的值:
-Atsargų_apyvartumas_dienomis
-Atsargos_Eur_0_periode

在其他代理中计算的值:
-Pardavimo_pajamos_Eur = another_agent.Pardavimo_pajamos_Eur

计算值:
-Atsargos_Eur = time() == 0? Atsargos_Eur_0_periode : (Pardavimo_pajamos_Eur * Atsargų_apyvartumas_dienomis) / 365
-Atsargos_Eur_pernai = 延迟(Atsargos_Eur,1,0)
-Atsargų_pokytis_Eur = Atsargos_Eur - Atsargos_Eur_pernai


该模型如下所示: [在此处输入图片说明][1]

我希望第 0 期的 Atsargos_Eur 等于第 1 期的 Atsargos_Eur_pernai(滞后 1),等等。但结果是这样的(值与 2、3、4、10、11 期的延迟变量不匹配):

Atsargos_Eur
0 1,708,000
1 2,434,787.025
2 3,518,215.417
3 3,537,939.829
4 3,557,410.392
5 3,410.392
6 3,410.392
7 3,410.392
8 3,410.392
9 3,410.392
10 3,410.392
11 3,410.392

Atsargos_Eur_pernai
0 0
1 1,000
2 3,464,170.795
3 3,501,283.789
4 3,939.829
5 3,552,127.157
11 3,396.342

这只是一种情况,但我还有其他情况,即延迟变量不是按照公式中的方式延迟 1 步,而是延迟 2 或 3 个周期。这种行为的原因可能是什么,模式是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)