【问题标题】:Get a parameter of an agent of a specific population in Anylogic在 Anylogic 中获取特定人群的代理的参数
【发布时间】:2018-04-16 00:23:18
【问题描述】:

我有以下问题,很想得到一些帮助。 情况:

代理 A 在群体 X 中,代理 B 在群体 Y 中

我想将agent A的变量varA设置为agent B的varB。agent A和agent B在不同的种群X和Y中,但是agent B是种群B中唯一一个参数par1等于参数par1的agent代理A。

我正在尝试将其写入一个函数,每当我需要更新该特定参数时都会调用该函数,但无法成功。

非常感谢任何帮助。

最佳亨氏_S

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    假设您的人口名称是 popX 和 popY...最初 varA 与 varB 不同,您希望根据参数 par1 上的匹配使它们相等

    以下函数将匹配您的群体中具有相等 par1 的所有代理,并使 varA 在所有情况下都等于 varB。您可能可以更有效地使用 stream() ......但我不知道如何。

    for(int i=0;i<popX.size();i++){
        for(int j=0;j<popY.size();j++){
            if(popX.get(i).par1==popY.get(j).par1){
                popX.get(i).varA=popY.get(j).varB;
            }
        }
    }
    

    【讨论】:

    • 谢谢,我可以让我的代码使用这个解决方案。
    猜你喜欢
    • 2021-04-08
    • 2021-03-09
    • 2020-05-21
    • 2020-04-26
    • 2021-10-09
    • 2021-10-18
    • 2021-05-05
    • 2021-07-12
    • 2021-09-10
    相关资源
    最近更新 更多