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

AnyLogic中如何存储timeMeasureEnd最大值以用于优化问题

AnyLogic存储流程耗时最大值并实现人员配置优化的操作步骤

1. 存储timeMeasureEnd的统计最大值

  • 在模型的Main代理中新建一个double类型变量,命名为maxProcessTime,初始值设为0
  • 打开流程中对应的timeMeasureEnd组件,在「On enter」事件编辑栏添加如下代码:
// 替换timeMeasureEnd为你实际的组件命名
double currentDuration = timeMeasureEnd.getTime();
if (currentDuration > maxProcessTime) {
    maxProcessTime = currentDuration;
}
  • 若需多轮迭代仿真,在仿真实验的「Before simulation run」事件中添加maxProcessTime = 0;,清空上一轮的统计数据
    如果已经用Dataset组件存储了所有流程耗时,可直接调用datasetName.max()获取最大值,无需额外定义变量存储

2. 配置优化实验

  • 新建Optimization优化实验,将你需要调整的人员配置变量(如服务人员数量、工位人员数等)设为优化变量,设置合理的取值上下限
  • 优化目标选择「最小化」,目标值填写人员配置变量,多类人员可按业务权重加权求和,例如seniorStaffNum * 1.5 + juniorStaffNum * 1
  • 新增约束条件:maxProcessTime <= x,x替换为你要求的耗时阈值,注意和仿真时间单位保持一致,若仿真单位为小时,分钟阈值需转换为x/60

3. 运行验证

  • 先运行3-5次单场景仿真,核对maxProcessTime的取值和实际流程耗时一致,无统计异常
  • 启动优化实验,工具会自动迭代不同人员配置方案,筛选出满足耗时约束的最小人员配置结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:54:05