You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AnyLogic中阻止Delay+GoTo总规模为6时代理离开Queue

解决AnyLogic中Queue+GoTo+Delay的容量控制问题

要实现Delay模块与GoTo路径中的代理总数不超过6时,才允许代理离开Queue,可以按以下步骤操作:

1. 追踪GoTo模块中的代理数量

AnyLogic的GoTo移动模块本身没有内置的size属性统计当前正在移动的代理数,需要手动追踪:

  • 在模型中添加一个整数变量(比如命名为agentsInGoTo),初始值设为0。
  • 双击GoTo模块,在On enter事件中写入代码:agentsInGoTo++;(代理开始移动时计数+1)。
  • 在GoTo模块的On exit事件中写入代码:agentsInGoTo--;(代理完成移动后计数-1)。

2. 设置Queue模块的离开条件

Queue模块默认会在下游模块可接收时放行代理,需要自定义条件限制总容量:

  • 双击Queue模块,找到Exit condition(离开条件)选项(默认值为true)。
  • 将条件修改为:delay.size + agentsInGoTo < 6
    • 其中delay.size是Delay模块当前的代理数量,agentsInGoTo是正在GoTo路径上的代理数量,两者之和小于6时,才允许代理离开Queue。

3. 简化场景的替代方案(可选)

如果你的GoTo模块直接连接到Delay模块,且移动时间极短、不会出现“代理在移动过程中Delay被填满”的情况,也可以直接将Queue的离开条件设为delay.size < 6。但移动时间较长时,建议优先用步骤1的计数方式,避免代理到达Delay时因容量已满被阻塞。


内容的提问来源于stack exchange,提问作者Aqeel Tariq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:43:19