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

如何在AnyLogic容量>1的Delay块中引用工位ID并提取连续智能体间隔时间

在AnyLogic中处理容量n>1的Delay块的两个关键问题

一、在容量n>1的Delay块中引用工位ID

  • 给Delay块添加自定义参数:在Delay块的「Parameters」面板里新增参数,比如命名为stationId,类型根据你的工位ID类型选择(String/int均可),配置时将对应工位的ID值传入该参数。
  • 内部逻辑直接调用:在Delay块的「On enter」「On exit」事件,或者延迟时间的表达式中,直接使用stationId即可。如果工位是通过资源池分配的,可在智能体进入Delay前,把分配到的资源ID赋值给智能体的自定义属性(比如agent.assignedStationId),之后在Delay块内调用agent.assignedStationId获取工位ID。

二、提取同一工位上连续智能体的时间间隔

  • 为每个工位绑定专属时间变量:如果工位是自定义对象,给对象添加lastAgentExitTime变量(类型double,初始值0);如果是资源池中的资源,给Resource类添加该变量。
  • 在Delay块的「On exit」事件中编写计算逻辑:
    double currentExitTime = time();
    // 计算与上一个智能体的时间间隔
    double interval = currentExitTime - lastAgentExitTime;
    // 可将间隔赋值给智能体属性用于后续分析
    agent.previousAgentInterval = interval;
    // 更新变量为当前时间,供下一个智能体使用
    lastAgentExitTime = currentExitTime;
    
  • 注意事项:必须保证每个工位的lastAgentExitTime独立,不能使用全局变量,否则会出现不同工位的数据串用问题。如果Delay块对应多个工位,要确保在智能体进入时绑定到具体工位的变量,比如通过智能体的assignedStation属性关联到对应工位的lastAgentExitTime。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 06:32:36