【问题标题】:Count number of agents at a node计算节点上的代理数
【发布时间】:2020-10-27 14:39:09
【问题描述】:

我已经设置了一个多边形节点(称为 area_wait),一个单一类型的代理在队列中保持不变。我正在尝试使用函数查找节点上的代理数量。我不想计算队列中的代理,因为我已经为可能位于不同节点的所有等待代理设置了一个队列。

我正在使用以下代码,它总是返回零。

int count_X = area_wait.agents().size();

事实上,当我检查时列表是空的:

List list_X = area_wait.agents();

我做错了什么?提前致谢。

【问题讨论】:

    标签: java anylogic


    【解决方案1】:

    我会给你在 anylogic 用户组中给出的相同答案,可以在这里找到:https://www.linkedin.com/feed/update/urn:li:activity:6721800348408791040

    因此,您尝试使用的此功能不起作用...除非节点内部的东西是传输器,并且仅当节点具有速度或访问限制时...这可能是错误或文档中的某些内容解释得很差,但对我来说这听起来像是一个错误

    如果您想知道节点中的代理数量,您可以使用替代方法 count(myAgents,a->a.getNetworkNode()!=null && a.getNetworkNode().equals(yourNode)) 但这如果您在没有 moveTo 块或其他一些自然运动的情况下更改节点位置(例如在块的代理位置参数中定义您的节点),则会失败......所以.. 这是另一个错误,但它可能不适用于您

    所以总结...据我所知,没有简单安全的解决方案

    【讨论】:

    • 谢谢费利佩。很高兴知道这不仅仅是我犯了一个愚蠢的错误。不幸的是,在代理位置定义我的节点正是我正在做的。我会尝试找出另一种方法。
    猜你喜欢
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多