如何在状态图转移条件中按升序对代理进行排序?

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

我正在研究基于代理的拍卖策略模拟模拟。详情请看这里

我有一群 (100) 座席,参数预算的价值统一为 (70,100) 十亿欧元。

您可以在上图中看到状态图流程。在状态图中combineBids中,我想对预算最低的前三个代理进行排名,其他代理应该退出到notEligible状态。

anylogic
1个回答
0
投票

创建一个名为 doSomething 的变量,而不是您的代理类型,并使其类型为布尔值

List <MyAgent> ags=sortAscending(myAgents,m->m.parameter).subList(0, 2);
for(MyAgent a : myAgents){
    a.willDoSomething=true;
}

该代码可以在代理所在的启动代理上运行(可能是主代理)

然后您需要在合并出价之后添加一个分支,并使用 willDoSomething 值将它们进一步带到状态图下方或不符合条件的状态

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