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

AnyLogic中如何让车辆在停车场等待至下一个停车场调用?

AnyLogic道路交通库:车辆跨停车场等待调度方案

核心模块选择

不用纠结delay块的untilstopdelay()配置,优先用道路交通库原生的Parking Lot模块,配合Wait模块或Move To模块的条件判断即可实现需求,逻辑更直观。

具体实现步骤

方案1:Wait模块+Move To模块

  • 车辆从第一个停车场驶出后,接入Wait模块,设置等待条件为:
    parkingLot2.getNumberOfFreeSpaces() > 0
    
    (将parkingLot2替换为你第二个停车场的实际命名)
  • 当条件满足时,车辆离开Wait模块,进入Move To模块,目标选择第二个停车场,完成转移。

方案2:Delay模块替代Wait(适配你的原有尝试)

  • 把Delay块的延迟时间设为0,勾选「Wait until condition is true」,同样填入判断条件parkingLot2.getNumberOfFreeSpaces() > 0
  • Delay块出口直接衔接Move To模块前往第二个停车场,车辆会一直滞留到目标停车场空闲才出发。

方案3:事件触发式调度(更高效)

  • 给第二个停车场添加On space freed事件,写入代码:
    // 假设用Queue<Vehicle> waitQueue存储等待的车辆
    if (!waitQueue.isEmpty()) {
        Vehicle v = waitQueue.remove();
        v.moveToParkingLot(parkingLot2);
    }
    
  • 车辆从第一个停车场驶出后,先判断目标停车场状态:
    if (parkingLot2.getNumberOfFreeSpaces() > 0) {
        agent.moveToParkingLot(parkingLot2);
    } else {
        waitQueue.add(agent);
    }
    

车辆调用关键代码

  • 判断目标停车场空闲:parkingLot2.getNumberOfFreeSpaces() > 0
  • 触发车辆转移:agent.moveToParkingLot(parkingLot2);(agent为当前车辆对象)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:54:59