You need to enable JavaScript to run this app. AnyLogic疏散模拟中公交拾取数量的条件规则设置方案
优惠活动
大模型
产品
解决方案
定价
更多

AnyLogic疏散模拟中公交拾取数量的条件规则设置方案

AnyLogic 公交接驳动态拾取逻辑配置方案

核心配置思路

不要使用固定的内置拾取规则,通过拾取块的自定义模式实现两种规则的动态切换,同时保留疏散人员和接驳车辆的类型匹配逻辑,不破坏原有分类匹配的约束。

具体操作步骤

  • 定位接驳车辆停靠流程中的拾取(Pickup)块,将默认的固定拾取规则切换为*Custom(自定义)*模式,弃用原固定配置的exact quantity(wait for)规则。
  • 先完成类型匹配约束配置:在拾取块的Agent过滤条件栏,写入车辆与疏散人员的匹配判断,避免跨类型混装凑数,参考逻辑:
    person -> person.personType == vehicle.supportedPersonType
    
    其中personType是疏散人员Agent的类型字段,supportedPersonType是当前接驳公交的允许载运类型字段,保证拾取的人员都是和当前车辆匹配的对象。
  • 配置动态拾取数量逻辑:在拾取块的需要拾取的Agent数量栏,写入条件判断,其中你的匹配类型等待区对象名为targetWaitingZone,公交额定载客阈值为12:
    // 统计当前等待区内匹配当前车辆类型的人员数量
    int matchCount = targetWaitingZone.size(p -> p.personType == vehicle.supportedPersonType);
    if (matchCount > 12){
        return 12; // 等待人数超阈值时,按满客数等待拾取,等价于原exact quantity(wait for)规则
    }else{
        return matchCount; // 等待人数≤阈值时,返回全部可拾取的人数,等价于quantity(if available)规则
    }
    
  • 配套设置拾取等待行为:在拾取块的等待逻辑配置中,选择“仅当返回的拾取数量等于等待区可用数量时,不等待直接拾取”,其余场景保持“等够指定拾取数量再拾取”的默认等待逻辑,刚好匹配上述分支的行为。

优化注意事项

  • 不要额外在车辆出发逻辑中绑定“满额才出发”的独立判断,所有载客判断统一放在拾取块中完成,避免最后一批人员拾取完成后触发不了发车流程。
  • 如果疏散人员是持续抵达等待区的,可以在人数≤12的分支里加一个短时间的防抖等待(通常10~20秒,根据你的疏散流节奏调整),避免零星抵达的少量人员触发公交空驶,平衡运输效率和最后一批人员的滞留问题。
  • 因为统计匹配人数的时候是直接带类型过滤的,不需要为不同类型的疏散人员拆分独立的等待区,模型复杂度不会增加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 08:06:05