如何在Anylogic中对处于某个状态的所有代理的变量值进行求和?

问题描述 投票:0回答:1

我有这个模型,如下图所示,

我有一个名为variable的变量。我想要汇总目前在assessBids中的所有代理的价值BUDGET。

假设我有 3 个代理在接下来的 1 天时间 t1 处于评估竞价状态等待。

代理 1 的预算值为 50,代理 2 为 55,代理 3 为 60。

我想将变量更新为 50+55+60 = 165。

anylogic
1个回答
0
投票

您需要从投标人内部循环投标人群体。首先,从 https://anylogic.help/advanced/code/access.html#where-am-i-and-how-do-i-get-to

了解 OOP 概念

然后,您可以从状态图中执行类似的操作,假设您的

Bidder
代理类型嵌入到名为
Main
的群体中的
myBidders
中:

double sumValue = sumWhere(main.myBidders, b->b.Budget, b->b.inState(assessBids));

不过,关键是第一步;)

© www.soinside.com 2019 - 2024. All rights reserved.