运筹优化与调度

Operations Research · Scheduling · MILP / CP / Heuristics

问题定义

运筹优化与调度解决的是"在多重约束下如何安排资源"的问题。生产计划给出的是目标,调度要把它拆成每一台设备、每一个班次、每一批次的可执行安排,同时处理换型时间、模具与工装、人员资质、物料齐套、交期优先级等相互冲突的约束。

在智能体的能力体系中,这一层对应"规划决策":把宏观目标分解为子任务,并在产能、成本、时间的多约束环境下生成方案。核心难点在于问题规模(组合爆炸)、不确定性(设备故障、急单插单)与求解时效(计划员等不了两小时)。

核心技术

数学规划(MILP / MINLP)

把调度问题写成目标函数与约束集合,由求解器搜索最优解。混合整数线性规划(MILP)是工业界最成熟的建模方式,求解核心为分支定界配合割平面与启发式。优点是能保证最优性与给出对偶信息,缺点是规模增大时求解时间不可控。

min cᵀx s.t. Ax ≤ b, l ≤ x ≤ u, xⱼ ∈ Z (j ∈ I)
松弛:先解 LP 松弛得下界,再分支;gap = (UB - LB) / UB 用于判断收敛

约束规划(CP)

CP 用区间变量描述任务的开始、持续时间与结束,通过全局约束(如 NoOverlap)表达资源互斥,配合传播与搜索策略求解。对含顺序依赖、换型矩阵、可选工序的排产问题,CP 的建模效率和求解表现通常优于 MILP。

IntervalVar: start ∈ [s_min, s_max], size = d, end = start + d
NoOverlap({interval_i}):同一资源上任务互不重叠
OptionalIntervalVar:工序可选,用于工艺路径分支

经典调度模型

Job-Shop(每工件工艺路径不同)、Flow-Shop(路径一致)、Flexible Job-Shop(工序可择机)、RCPSP(资源约束项目调度)。评价指标常见 makespan(最大完工时间)、总流程时间、拖期惩罚、设备利用率。

C_max = max_j C_j(makespan)
拖期:T_j = max(0, C_j - d_j),加权拖期 Σ w_j T_j
析取图:G = (N, C ∪ D),对析取弧定向即得到一个可行 schedule

元启发式算法

当精确方法在可接受时间内求不出满意解时,使用遗传算法、模拟退火、禁忌搜索、蚁群等。核心在于编码方式与邻域算子设计,而不是算法本身。

遗传算法:编码 → 选择 → 交叉 → 变异 → 适应度评估 → 迭代
模拟退火:接受劣解概率 P = exp(-Δ / T),T 按降温系数衰减
禁忌搜索:维护禁忌表禁止近期回退,用特赦准则放开优质解

滚动时域与重调度

静态最优解在动态车间里很快失效。常见做法是滚动时域:只执行方案的前一小段,随后根据最新状态重新求解;同时对急单、故障等扰动事件触发局部重调度,而非全局重排。

滚动:t 时刻求解 [t, t+H],执行 [t, t+Δ],Δ ≪ H
重调度代价:J = α·性能损失 + β·方案变动度(避免方案频繁抖动)

仿真优化与强化学习

目标函数难以解析表达(含排队、随机故障)时,把仿真器当作评估黑盒,外层用优化算法或强化学习搜索策略。数字孪生提供仿真环境,调度策略在其中低成本试错,再迁移到真实车间。

Sim-Opt:a* = argmax_{a∈A} E_ξ [ F(sim(a, ξ)) ]
RL:s_t = 车间状态,a_t = 派工规则选择,r_t = -(完工时间增量)

方法选型对比

方法 规模适应性 最优性 建模成本 适用
MILP(商业求解器) 中小规模,数千变量级 可证明最优 / 给 gap 高,需线性化技巧 批量计划、配料、产能分配
CP(CP-SAT 等) 中大规模工序排程 给定时间内最优 中,表达能力强 Job-Shop 排产、人员排班
元启发式 大规模 无最优性保证 中,算子设计靠经验 复杂约束、求解时间受限
派工规则 任意规模 无 低 实时派工、基线对照
仿真优化 受仿真成本限制 无 高,需建仿真模型 含随机性、目标不可解析
强化学习 训练成本高,推理快 无 高,奖励设计敏感 高频动态派工、策略类决策

工程实践指南

建模要点

求解工程化

落地集成

常见误区

开源项目

Google OR-Tools

集成 CP-SAT 约束规划、线性规划与路由求解器,接口友好、无商业授权限制,是排产与车辆路径问题的常用选择(仓库:google/or-tools)。

HiGHS

高性能开源线性与混合整数规划求解器,支持单纯形法与内点法,可作为商业求解器的替代方案。

Pyomo

Python 代数建模语言,把模型描述与求解器解耦,便于在不同求解器之间切换与做原型验证。

Timefold(原 OptaPlanner)

面向排班与车辆路径的约束求解引擎,内置多种启发式与增量评分机制,适合求解规模较大的排程问题。

SimPy

基于进程的离散事件仿真库,适合构建车间仿真模型,用于方案评估、瓶颈分析与仿真优化。

参考文献

相关阅读