【问题标题】:Iterate over agent's parameters迭代代理的参数
【发布时间】:2017-02-11 15:01:40
【问题描述】:

我正在通过代码创建基于另一个代理的代理。原始代理处于正在处理的延迟块中,我想创建副本,其中只有 id 会更改并执行 Enter 块中的方法。

为了从原始代理复制信息,我似乎找不到比指定每个参数更好的方法:

newAgent.color = original.color;
newAgent.component = original.component;
newAgent.geometry = original.geometry;
...
newAgent.LastParameter = original.LastParameter;

等等。

有没有办法迭代代理参数以改进此操作?

提前谢谢你, 路易斯

【问题讨论】:

    标签: java loops parameters agent anylogic


    【解决方案1】:

    我设法解决了我的问题,并且我正在发布答案,因为其他人将来可能会遇到它。这是我已经尝试过的简单方法,但存在类型转换问题。

    代码结构如下:

    add_myAgents();
    for(String p : agent.getParameterNames())
    {
        myAgents.get(myAgents.size()-1).setParameter(p, agent.getParameter(p), true);
    }
    enter.take(myAgents.get(myAgents.size()-1));
    

    我发现使用myAgent prod = new MyAgent() 不起作用。必须将副本插入人口中,因此我创建了一个名为 myAgents 的初始空人口,并在其中添加副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 2022-09-23
      • 1970-01-01
      相关资源
      最近更新 更多