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

AnyLogic:两台设备间智能Agent分配函数优化需求

解决AnyLogic设备优先填充最后加载目标的问题

核心思路

不再以「先启动设备是否有空位」为分配依据,而是优先填满当前正在加载的设备——只有当该设备完全满载后,才切换到另一台设备分配新Agent;即便先加载的设备后续出现空位,也会先把当前正在填充的设备塞满,再去补空位。

具体实现步骤

1. 添加全局跟踪变量

在模型的Main或主Agent中添加一个全局变量:

  • 类型:RestrictedArea
  • 变量名:currentTargetDevice
  • 初始值:设为你优先启动的上方设备(比如restrictedArea1)

2. 编写智能分配函数

创建一个返回类型为RestrictedArea的函数(比如命名为selectTargetDevice),写入以下逻辑:

// 检查当前目标设备是否还有剩余容量
if (currentTargetDevice.getNumberOfAgents() < currentTargetDevice.getMaxAgents()) {
    return currentTargetDevice;
} else {
    // 当前目标已满,切换到另一台设备
    currentTargetDevice = (currentTargetDevice == restrictedArea1) ? restrictedArea2 : restrictedArea1;
    return currentTargetDevice;
}

3. 绑定分配逻辑

在Agent进入设备的Enter块中,将Select destination选项设置为调用上述分配函数,确保新Agent按设定逻辑路由。

逻辑验证场景

  • 初始状态:优先填充上方设备,直到19个Agent满载
  • 上方满后:新Agent自动切换到下方设备,currentTargetDevice同步更新为下方设备
  • 上方释放Agent后:新Agent仍会优先填充下方设备,直到下方设备完全满载
  • 下方满后:新Agent才会分配到上方的空位

这种逻辑完全符合「优先填满最后加载的设备」的需求,彻底解决了先加载设备抢占空位导致后加载设备无法满载的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:15:43