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

AnyLogic新手求助:如何在限制总流程时间下优化成本目标函数?

在AnyLogic中添加总流程时长约束的实操方案

流程模型示意图

1. 先搞定总流程时长的计算逻辑

  • 给模型加两个全局变量(在Main里新建,类型选double):
    • processStartTime:用来记录第一个实体启动流程的时间
    • totalProcessDuration:存储最终的总流程耗时
  • 找到流程的第一个节点(比如Source),在它的On exit事件里写代码:
    if (processStartTime == 0) {
        processStartTime = time();
    }
    
  • 找到流程的最后一个节点(比如Sink),在它的On enter事件里写代码:
    totalProcessDuration = time() - processStartTime;
    

2. 在优化实验里加时长约束

假设你用的是Optimization Experiment:

  • 打开优化实验的设置,切换到Constraints标签页
  • 点击Add新增约束:
    • 在表达式栏写你的时长限制,比如要求总时长不超过120分钟,就转成秒写:
      totalProcessDuration <= 120 * 60
      
    • 约束类型选**<=**,对应你的时长上限要求

3. 验证约束是否有效

  • 先运行普通仿真实验,确认totalProcessDuration能正确算出总流程时间
  • 再启动优化实验,系统会自动在满足时长限制的前提下,寻找总成本最低的方案

新手提醒

  • 如果是多实体批量处理,要根据实际需求调整时长计算逻辑(比如取最后一个实体完成时间减第一个实体开始时间)
  • 注意时间单位统一:AnyLogic默认用秒,设置约束时别搞混单位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:20:59