监视矩形节点用法

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

我将一批代理移动到一个节点,在那里它们是未分区的。一旦未受攻击的代理占用此节点,该节点就不可用于其他批次的代理移动,因此我从可用节点集合AvailableNodes中删除该节点(总共有大约50个节点)。每个未分页代理都有一个参数,该参数是它已移动到的节点。问题是,一旦从该节点移出所有未分页代理,如何将节点添加回AvailableNodes。当代理进入/退出节点时,我是否有一个与每个节点关联的变量,我会递增或递减?如果是这样,我如何将唯一变量与节点相关联?或者,还有更好的方法?

anylogic
1个回答
1
投票

哦,你走在泥泞的水域,做坏事......你的节点应该属于一个资源池,这意味着你应该有一个代理,而不是一个节点,你应该有一个带有节点的代理......那样你就不需要任何集合了一点都不

另一种选择是创建一个具有节点和可用性的小类......以及当前存在于该节点中的代理数量。只需创建一个新类,并添加这3个变量。然后在模型的开头,将该类的实例添加到集合availableNodes,然后您可以执行theClass.numberOfAgents + = 1或 - = 1,具体取决于是否将更多代理添加到节点。要查找可用的代理,您可以执行TheClass x=findFirst(availableNodes, a->a.numberOfAgents==0);,然后您可以将代理发送到x.node;

还有可能继续做你正在做的事情......但我甚至不去那里,因为它会是一团糟。

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