滚动优化与重优化
滚动优化处理业务状态随时间变化的决策:新订单到达、设备不可用、已执行结果偏离计划。它不是把同一个模型重复运行,也不同于时间片轮转对计算资源的分配。
1. 三个时间范围
规划时域覆盖本次考虑的未来;执行窗口决定这次真正下发的动作;冻结窗口限制已经承诺、不能随意变化的决策。三个窗口可以不同,不能把远期建议当成已执行事实。
每次滚动先读取实际执行状态,再构造新输入。未完成任务延续,已完成任务退出,库存或设备状态成为新初始条件。旧计划不是现实状态的唯一来源。
2. 例子:两期生产与稳定性
概述、实体与集合
生产上下文在两个时段
变量与中间值
冻结集合
约束与目标
最小化
新需求与结果
若累计需求改为
若同时第二期容量降为 4,则冻结条件下无法满足 9 件需求。应报告冲突或通过业务批准调整承诺,不应悄悄删除冻结约束。
3. 重建、增量修改与 warm start
业务语义上,每次运行是一个有明确版本的新场景。实现可以重建模型,也可以在后端允许时修改参数或增量结构,但需要保证剩余旧状态不会污染新模型。
warm start 提供候选变量值或后端支持的恢复信息;它不证明候选在新数据下可行,不保证搜索树复用,也不保证更快。新增变量如何初始化、删除任务如何映射,都必须以业务身份处理。
4. 已执行与已承诺的区别
已执行结果应成为事实,例如第一期实际只完成 3 件,则剩余需求从实际量计算,而不是仍把旧计划 4 件计入累计完成。已承诺但未执行的动作则可以用冻结约束表达。
冻结规则来自业务,不是求解器默认能力。确需解冻时,应保留改变了哪些承诺及原因。时间推进导致窗口移动时,还要避免把同一需求重复计算。
5. 超时、稳定性与业务使用
超时后有可行解时,可按业务质量要求决定是否下发执行窗口;没有可行解时,只有经过新输入检查的旧方案或明确可行的应急策略才可使用。
稳定性可按产量变动、换机次数或开始时间偏移定义。不同量纲不能直接相加,权重也不能替代必须保持的承诺。硬冻结与软变动惩罚需要分开。
6. 在 OSPF 中组织职责
业务上下文提供实际状态、变量及稳定性指标;应用决定滚动触发、时域、冻结政策和方案发布;后端负责求解。每轮结果保留输入版本,避免将旧运行的迟到结果覆盖新方案。