AnyLogic车间调度仿真运行:如何设置每日8小时累计80小时周期规则
AnyLogic车间仿真按每日8小时循环运行配置方案
前提配置校验
首先确认你的模型时间单位设置为小时,且已启用日历时间模式:在对应仿真实验的「Model time」设置页勾选「Use calendar time」,起始时间填写为202X-09-03 08:00:00即可匹配你的示例场景。
具体实现步骤
- 步骤1:新增有效运行时长统计变量
在Main代理中新建一个double类型变量totalRunHours,初始值设为0,专门用于统计仿真实际运行的有效时长。 - 步骤2:创建日历调度事件控制仿真启停
新建2个按天重复的Calendar Event(日历事件):- 工作日启动事件:触发时间设置为每日8:00,执行动作填写代码:
getEngine().setPause(false);- 工作日暂停事件:触发时间设置为每日16:00,执行动作填写代码:
// 累加当日有效运行时长 totalRunHours += 8; // 累计时长满80小时直接停止仿真 if(totalRunHours >= 80){ getEngine().stop(); }else{ getEngine().setPause(true); } - 可选配置:如需排除周六、周日不运行,可在两个日历事件的「Repeat on」选项中仅勾选周一至周五即可。
- 步骤3:配置仿真启动规则
在仿真实验的「Startup code」输入栏添加以下代码,确保仿真启动后直接进入运行状态:getEngine().setPause(false);
效果验证
配置完成后运行仿真,会按照你要求的规则执行:从9月3日8:00启动,运行到当日16:00自动暂停,次日8:00自动恢复运行,累计满80小时有效运行时长后自动终止,非工作时段不会执行service block、资源池的相关调度逻辑,也不会计入有效运行时长。
内容的提问来源于stack exchange,提问作者HARSH GOYAL
相关产品推荐
相关产品推荐

