【问题标题】:How to select a specific agent from a population of agents in Anylogic?如何从 Anylogic 的代理群体中选择特定代理?
【发布时间】:2021-04-08 05:02:11
【问题描述】:

我有 30 个代理 (people),他们的属性(manhourrevenue)是从 excel 文件导入的,这意味着工作表的每一行代表一个代理。我想模拟代理属性之间的依赖关系(例如revenue),所以我想创建一个机制,以便我可以从总体中选择一个特定的代理(例如代理编号 1),检查某些条件是否为真,例如,如果1 号代理的manhour 等于x,然后将5 号代理的revenue 更改为y。我不确定实现这一目标的最佳技术是什么,我很高兴听到你的想法。谢谢。

【问题讨论】:

    标签: java anylogic


    【解决方案1】:

    将您的代理加载到群体中,例如pop_MyAgents

    然后使用 findFirst(pop_MyAgents, a->a.myIndex==1) 之类的 lambda 语句(如果您的代理具有从您的 dbase 表加载的参数 myIndex)。

    要更改特定代理的收入,您可以使用类似

    MyAgent agentToChange = findFirst(pop_MyAgents, a->a.myIndex==1);
    agentToChange.revenue = 5;
    

    您似乎需要掌握一些基础知识,许多示例模型有助于完成这些事情。另外,请查看有关代理群体、lambda 语句的帮助...

    【讨论】:

      猜你喜欢
      • 2017-12-29
      • 2020-05-04
      • 2020-08-03
      • 2021-05-05
      • 2017-11-24
      • 2020-04-26
      • 2020-08-11
      • 2021-09-06
      • 2018-04-16
      相关资源
      最近更新 更多