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

如何在AnyLogic中搭建有限呼叫人口仿真模型?

AnyLogic 有限呼叫人口模型(固定10个Agent)搭建方案

有限呼叫人口模型的核心是固定数量的Agent循环参与服务流程,你之前尝试将Agent返回Source的思路不可行,因为Source是仅用于生成Agent的输出型节点,无输入端口,以下是两种可落地的实现方案:

方案1:流程网络直接循环法(适合简单服务场景)

无需额外编写逻辑,直接通过流程节点连接实现循环:

  • 将Source节点的到达方式设置为一次性到达,到达数量设为10,同时取消Source节点「达到最大到达数后停止模型」的勾选,避免模型提前终止。
  • 原有服务流程(排队、服务等节点)的末端不要连接Sink节点(Sink会销毁Agent),直接将服务完成后的输出端口连回流程的起始节点(如需重新排队就接Queue输入,无需排队直接接对应服务节点的输入即可)。
  • 如果需要设置Agent两次参与服务的间隔,可在服务完成后新增一个Delay节点,设置对应间隔时长后再连回流程起点。

方案2:Agent池+状态机控制法(适合带复杂自定义行为的场景)

如果你的Agent除了参与服务外还有其他自定义行为逻辑,用该方案更灵活:

  • 在MainAgent中新建一个自定义Agent的种群,数量固定设为10,不需要用Source节点生成Agent。
  • 给自定义Agent添加状态机,设置空闲、等待服务、服务中、冷却中四个状态,按需配置状态切换条件。
  • 用Enter节点替代原有Source作为流程入口,当Agent状态切换为等待服务时,调用Enter节点的inject()方法将该Agent注入流程。
  • 流程末端用Leave节点将完成服务的Agent送出流程,修改其状态为冷却中,冷却时长到后切换为空闲/等待服务状态,触发下一次流程注入。

你之前设置Source到达上限10后模型自动停止,是因为默认勾选了「到达后停止模型」选项,即使取消该选项也无法实现循环逻辑,因为Source生成的Agent走到Sink会被直接销毁,去掉Sink节点让流程闭环是核心要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:45:06