如何基于车辆类型在AnyLogic中设置Delay模块的差异化延迟时长
AnyLogic门禁管控仿真差异化延迟实现方案
操作步骤
- 第一步:给车辆Agent新增参数
首先找到你定义的车辆智能体,添加名为vehicleType的字符串类型参数,用来标识车辆所属类型。你在生成车辆时直接给该参数赋值即可,例:轿车赋值为"轿车"、挂车赋值为"挂车"。 - 第二步:配置车辆检查环节的Delay模块
打开车辆检查对应的Delay模块,在「延迟时间」输入栏直接写入如下判断逻辑即可实现按车型匹配检查时长:
说明:代码中的switch(agent.vehicleType) { case "轿车": return 2 * minute; case "巴士": return 6 * minute; // 可根据实际需求修改巴士检查时长 case "挂车": return 10 * minute; default: return 3 * minute; // 异常兜底默认值,未匹配到的车型默认用此时长 }minute是AnyLogic内置时间单位,如需用秒、小时等单位直接替换为second/hour即可,无需手动做单位换算。 - 第三步:配置信息登记环节
若信息登记为固定时长,直接在对应Delay模块的延迟时间栏填入对应数值即可;若也需要按车型/其他规则差异化设置,参考第二步的逻辑调整判断条件即可。
小提示:如果用Source模块按比例生成不同类型车辆,可直接在Source的「新智能体」-「初始化代码」栏给
vehicleType赋值,配合Source的按比例生成功能,无需额外逻辑即可自动生成带类型标识的车辆。
内容的提问来源于stack exchange,提问作者Carso
相关产品推荐
相关产品推荐

