生产计划与控制完全学习指南:从需求预测到车间排程
引言:一门课回答一个核心问题
制造企业每天都要回答一个问题:
什么时候生产、生产多少、用什么资源生产?
这个问题看似简单,实际上极其复杂。因为:
- 需求是波动的、不确定的
- 产品有成千上万的物料构成
- 设备、人力、物料的可用性都有约束
- 客户在催交期,同时库存成本在上升
- 一个环节的变动会传导到整个供应链
生产计划与控制(Production Planning and Control, PPC)这门课,就是把这个问题拆解成一套可执行的方法体系。
它的核心框架是一条由粗到细、由长周期到短周期的计划链条:
战略目标(年)
↓
综合生产计划 Aggregate Planning(3-18 个月)
↓
主生产计划 MPS(数周-数月)
↓
物料需求计划 MRP(数周-数月)
↓
能力需求计划 CRP(数周)
↓
车间排程 Scheduling(数天-数周)
↓
作业分派与控制 Shop Floor Control(实时)
每一层都在回答一个更具体的问题,每一层都是上一层的细化。
一、需求预测:一切计划的起点
1.1 预测的四个基本规律
规律一:预测永远是错误的
这不是悲观,这是事实。因此预测必须配套两件事:
- 给出误差范围(而不只是单点值)
- 建立应对偏差的机制(安全库存、柔性产能)
规律二:长期预测的误差远大于短期预测
预测 1 个月后的需求,误差可能是 ±10%
预测 12 个月后的需求,误差可能是 ±50%
实务含义:计划周期越短,越应该基于实际需求而非预测。 这就是为什么精益生产强调「拉动」——用实际需求触发生产,而不是用预测推动。
规律三:汇总预测的误差小于单项预测
预测 100 个 SKU 各卖多少,误差很大
预测这 100 个 SKU 总共卖多少,误差小得多
实务含义:在能做汇总预测的层级做预测(如产品族层面),而不是在最细的 SKU 层面。这引出了 MPS 中的一个重要技巧——在产品族层面做 MPS,在具体型号层面用「最终装配计划 FAS」。
规律四:信息越靠近需求端,越准确
零售商掌握的真实销售数据,比制造商拿到的订单数据更准确
实务含义:打通供应链的信息流,是减小预测误差最有效的手段。 这正是牛鞭效应对策的核心。
1.2 定性预测方法
| 方法 | 做法 | 适用场景 |
|---|---|---|
| 德尔菲法 | 专家匿名、多轮问卷、反馈汇总、逐步收敛 | 长期预测、技术预测、缺乏历史数据 |
| 销售人员意见汇总 | 汇总一线销售人员的估计 | 短期预测,销售熟悉客户 |
| 市场调研 | 抽样调查客户购买意向 | 新产品 |
| 部门主管集体讨论 | 会议讨论达成共识 | 快速但易受权威影响 |
1.3 定量预测方法(时间序列)
(1)朴素法(Naive)
F_{t+1} = A_t 下期预测 = 本期实际
最简单,但常作为基准线——任何复杂方法至少要打得过朴素法。
(2)简单移动平均(Simple Moving Average)
F_{t+1} = (A_t + A_{t-1} + ... + A_{t-n+1}) / n
特点:
- n 越大越平滑,但对变化反应越慢
- n 越小越敏感,但噪声越大
- 所有历史数据权重相同
(3)加权移动平均
F_{t+1} = w₁A_t + w₂A_{t-1} + ... + w_n A_{t-n+1}
其中 Σw_i = 1
近期数据赋予更大权重。
(4)一次指数平滑(Exponential Smoothing)★ 最重要
F_{t+1} = α·A_t + (1-α)·F_t
其中 α 是平滑系数(0 < α < 1)。
展开形式(权重指数衰减):
F_{t+1} = α·A_t + α(1-α)·A_{t-1} + α(1-α)²·A_{t-2} + ...
α 的选择:
| α | 特点 | 适用 |
|---|---|---|
| 小(0.05-0.2) | 平滑,对变化反应慢 | 需求稳定的成熟产品 |
| 中(0.2-0.4) | 平衡 | 一般情况 |
| 大(0.4-0.8) | 敏感,跟随快 | 需求变化快的产品 |
实务做法:用历史数据试算多个 α,选误差最小的。
(5)二次指数平滑(Holt 线性趋势模型)
处理有趋势的数据:
水平:S_t = α·A_t + (1-α)(S_{t-1} + T_{t-1})
趋势:T_t = β(S_t - S_{t-1}) + (1-β)T_{t-1}
预测:F_{t+k} = S_t + k·T_t
(6)三次指数平滑(Holt-Winters 季节模型)
加上季节性分量,适用于有明显季节性波动的产品。
水平:S_t = α(A_t / I_{t-L}) + (1-α)(S_{t-1} + T_{t-1})
趋势:T_t = β(S_t - S_{t-1}) + (1-β)T_{t-1}
季节:I_t = γ(A_t / S_t) + (1-γ)I_{t-L}
预测:F_{t+k} = (S_t + k·T_t) × I_{t-L+k}
因果模型(回归):建立需求与其他变量(价格、广告投入、GDP 等)的关系。
1.4 预测误差度量
| 指标 | 公式 | 特点 |
|---|---|---|
| 平均绝对偏差 MAD | MAD = Σ | A_t - F_t |
| 均方误差 MSE | MSE = Σ(A_t - F_t)² / n | 放大了大误差 |
| 均方根误差 RMSE | RMSE = √MSE | 与原数据量纲一致 |
| 平均绝对百分比误差 MAPE | MAPE = Σ | (A_t-F_t)/A_t |
| 偏差 BIAS | BIAS = Σ(A_t - F_t) / n | 看系统性偏高还是偏低 |
| 跟踪信号 TS | TS = Σ(A_t - F_t) / MAD | 监控预测是否失控 |
跟踪信号的使用(关键):
若 |TS| > 4(或 3,视行业而定)→ 预测模型已失效,需要调整
BIAS 的实务价值:
若 BIAS 持续为负 → 预测长期高于实际 → 导致库存积压
若 BIAS 持续为正 → 预测长期低于实际 → 导致缺货
即使 MAD 很小,持续的单边偏差也是危险的
MAPE 的参考标准:
| MAPE | 预测质量 |
|---|---|
| < 10% | 很好 |
| 10%-20% | 好 |
| 20%-50% | 一般 |
| > 50% | 差,需改进 |
二、综合生产计划(Aggregate Planning)
2.1 它解决什么问题
时间跨度:3-18 个月(中期)
决策内容:
在给定的需求预测下,确定:
· 各期的产出率(生产多少)
· 劳动力水平(多少工人)
· 库存水平(备多少库存)
· 外协/加班(是否外包或加班)
· 缺货/延迟交付(是否接受积压)
关键特征:在这一层,不考虑具体产品型号,只考虑「产品族」或「总产量」。
例如一家家电厂的综合计划,可能只需要决定「下季度生产多少万台空调」,而不关心具体是哪些型号。
2.2 三种基本策略
| 策略 | 做法 | 优点 | 缺点 |
|---|---|---|---|
| 追逐策略(Chase) | 产出率跟随需求,通过 hiring/firing、加班、外协调节 | 库存成本最低 | 人员不稳定,成本高,士气差 |
| 均衡策略(Level) | 保持恒定产出率,用库存或积压吸收波动 | 生产稳定,人员稳定 | 库存成本高,或产生缺货 |
| 混合策略(Hybrid) | 两者结合 | 实务中最常用 | — |
成本构成:
总成本 = 正常生产成本
+ 加班成本
+ 外协成本
+ 招聘/解雇成本
+ 库存持有成本
+ 缺货/延迟成本
2.3 求解方法
方法一:试算法(手工表格式,课程常考)
列出若干候选方案,逐一计算总成本,取最低者。
示例(简化):
需求(件):1月 1000,2月 1500,3月 2000,4月 1200,5月 800,6月 1000
期初库存 500,要求期末库存 ≥ 300
方案 A(均衡策略):每月恒定产出 1250 件
方案 B(追逐策略):每月产出 = 当月需求
比较两个方案的总成本(含库存持有、加班、招聘解雇等)
方法二:线性规划
目标:min Σ(各期各项成本)
约束:
· 库存平衡:I_t = I_{t-1} + P_t - D_t
· 产能约束:P_t ≤ 正常产能 + 加班产能 + 外协产能
· 人力约束
· 非负约束
方法三:管理系数法 / 仿真
三、主生产计划(MPS)
3.1 MPS 的定位
综合计划(产品族层面,万台)
↓ 分解
MPS(具体最终产品层面,具体到型号、数量、时间)
↓ 驱动
MRP(物料层面)
MPS 的特点:
- 对象是最终产品(end item),不是物料
- 时间单位是周(通常)
- 是MPS 驱动 MRP,是整个计划体系的枢纽
3.2 关键概念:时界(Time Fence)
这是 MPS 中最重要的实务概念。
───────────────────────────────────────────→ 时间
│← 冻结区 →│← 宽松区 →│← 可变区 →│
│ frozen │ slushy │ liquid │
└──────────┴───────────┴───────────┘
需求取订单 需求取订单 需求取预测
变更需审批 变更需评估 可自由变更
| 区间 | 别称 | 需求来源 | 变更规则 |
|---|---|---|---|
| 冻结区 | 需求时界(DTF)内 | 实际订单 | 原则上不允许变更,需高层审批 |
| 宽松区 | 计划时界(PTF)内 | 订单与预测的较大值 | 变更需计划员评估影响 |
| 可变区 | PTF 之外 | 预测 | 可自由调整 |
为什么要设时界?
因为计划的变更会引起连锁反应——改一个最终产品的计划,会导致成百上千种物料的需求变动(这就是 MRP 的系统紧张性/神经质问题)。时界机制就是为了避免这种混乱。
3.3 MPS 的核心计算:可承诺量(ATP)
ATP(Available to Promise):销售部门能向客户承诺的数量。
ATP(第一期) = 期初库存 + 本期 MPS 产量 - 该期到下一个 MPS 产出之前的订单之和
ATP(后续期) = 本期 MPS 产量 - 该期到下一个 MPS 产出之前的订单之和
算例:
期初库存 = 100
MPS 产量:第 1 周 300,第 3 周 300,第 5 周 300
已接订单:第 1 周 120,第 2 周 80,第 3 周 150,第 4 周 100,第 5 周 90
预计可用库存 PAB:
第 1 周:100 + 300 - 120 = 280
第 2 周:280 + 0 - 80 = 200
第 3 周:200 + 300 - 150 = 350
第 4 周:350 + 0 - 100 = 250
第 5 周:250 + 300 - 90 = 460
ATP:
第 1 周:100 + 300 - (120 + 80) = 200
第 3 周:300 - (150 + 100) = 50
第 5 周:300 - 90 = 210
ATP 的实务意义:销售人员接到新订单时,看 ATP 判断能否承诺交期。这是产销协调的核心机制。
3.4 粗能力计划(RCCP)
在 MPS 定稿前,先校验关键资源是否够用。
步骤:
1. 识别关键资源(瓶颈工序、关键设备、稀缺工种)
2. 编制资源清单(每个产品在各关键资源上的负荷)
3. 计算 MPS 各期的资源负荷
4. 与可用能力对比
5. 若超载,调整 MPS 或增加能力
能力负荷率 = 计划负荷 / 可用能力 × 100%
四、物料需求计划(MRP)
4.1 MRP 解决什么问题
独立需求 vs 相关需求:
| 类型 | 定义 | 特点 | 管理方法 |
|---|---|---|---|
| 独立需求 | 与其他物品需求无关的需求(如最终产品、备件) | 不确定、需预测 | 订单 + 预测 |
| 相关需求 | 由其他物品需求推算出来的需求(如零部件、原材料) | 确定的、可从 BOM 计算 | MRP |
MRP 的核心逻辑:
已知:要生产多少最终产品(MPS)
已知:产品的构成关系(BOM)
已知:物料的库存与在途情况
已知:采购/制造提前期
求出:什么时候需要多少什么物料,什么时候应该下达订单
4.2 MRP 的三个输入
| 输入 | 内容 |
|---|---|
| 主生产计划 MPS | 最终产品的产出计划 |
| 物料清单 BOM | 产品的构成关系(父子关系、用量) |
| 库存信息 | 现有库存、在途量、已分配量、提前期、批量规则等 |
4.3 BOM(物料清单)
BOM 的层级结构:
产品 A(1 件)
├── 部件 B(2 件) ← 层级 1
│ ├── 零件 D(3 件) ← 层级 2
│ └── 零件 E(1 件)
└── 部件 C(1 件)
├── 零件 D(2 件)
└── 零件 F(4 件)
关键概念:
| 概念 | 说明 |
|---|---|
| 低层码(Low-Level Code) | 某物料在所有 BOM 中出现的最低层次编号 |
| 父项/子项 | 上层物料是父项,下层是子项 |
| 用量 | 每个父项需要多少个子项 |
低层码的作用(关键):
零件 D 同时出现在层级 2(B 下面)和层级 2(C 下面),所以 D 的低层码是 2。
MRP 的计算必须按低层码的顺序逐层进行——只有把所有用到 D 的父项都处理完,才能正确处理 D 的总需求。否则会出现「毛需求重复计算」的错误。
4.4 MRP 的计算逻辑(核心)
术语定义:
| 术语 | 含义 | 公式 |
|---|---|---|
| 毛需求(Gross Requirement) | 该期需要的总量 | 来自父项的计划订单下达 |
| 计划接收量(Scheduled Receipt) | 已下达的订单,预计该期到货 | 已下达,不可更改 |
| 预计可用库存(PAB) | 该期末的预计库存 | PAB_t = PAB_{t-1} + 计划接收 + 计划订单接收 - 毛需求 |
| 净需求(Net Requirement) | 实际需要补充的量 | 若 PAB < 0,则净需求 = |
| 计划订单接收(Planned Order Receipt) | 计划该期到货的数量 | 满足净需求,按批量规则调整 |
| 计划订单下达(Planned Order Release) | 计划该期下达订单的数量 | = 计划订单接收按提前期前移 |
核心公式:
本期 PAB = 上期 PAB + 计划接收量 + 计划订单接收 - 毛需求
若 本期 PAB ≥ 安全库存:
净需求 = 0
计划订单接收 = 0(或按批量规则)
否则:
净需求 = 安全库存 - 本期 PAB
计划订单接收 = 按批量规则调整后的数量
新 PAB = 本期 PAB + 计划订单接收
4.5 MRP 完整算例(必考题)
已知:
产品 A 的 MPS:
第 6 周产出 100 件
第 8 周产出 150 件
产品 A 的 BOM:
1 个 A = 2 个 B + 1 个 C
物料 B:
提前期 = 2 周,现有库存 = 50,安全库存 = 10
已下达订单:第 3 周到货 100 件
批量规则:直接批量(Lot-for-Lot)
物料 C:
提前期 = 1 周,现有库存 = 30,安全库存 = 0
批量规则:固定批量 200
计算物料 B 的 MRP:
第一步:计算 B 的毛需求
A 在第 6 周产出 100 → B 的毛需求 = 100 × 2 = 200(第 6 周)
A 在第 8 周产出 150 → B 的毛需求 = 150 × 2 = 300(第 8 周)
第二步:逐周展开
| 周次 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| 毛需求 | 0 | 0 | 0 | 0 | 0 | 200 | 0 | 300 |
| 计划接收量 | 100 | |||||||
| 预计可用库存 PAB | 50 | 50 | 150 | 150 | 150 | ? | ||
| 净需求 | ||||||||
| 计划订单接收 | ||||||||
| 计划订单下达 |
第 1 周:PAB = 50(期初库存),毛需求 0 → PAB = 50
第 2 周:毛需求 0 → PAB = 50
第 3 周:毛需求 0,计划接收 100 → PAB = 50 + 100 = 150
第 4 周:毛需求 0 → PAB = 150
第 5 周:毛需求 0 → PAB = 150
第 6 周:毛需求 200 → PAB = 150 - 200 = -50
需补充:净需求 = 200 - 150 + 安全库存 10 = 60
批量规则 = 直接批量 → 计划订单接收 = 60
新 PAB = -50 + 60 = 10(= 安全库存)
计划订单下达 = 第 6 周 - 提前期 2 周 = 第 4 周下达 60
第 7 周:毛需求 0 → PAB = 10
第 8 周:毛需求 300 → PAB = 10 - 300 = -290
净需求 = 300 - 10 + 10 = 300
计划订单接收 = 300
新 PAB = -290 + 300 = 10
计划订单下达 = 第 8 周 - 2 = 第 6 周下达 300
完整的 B 的 MRP 表:
| 周次 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| 毛需求 | 0 | 0 | 0 | 0 | 0 | 200 | 0 | 300 |
| 计划接收量 | 100 | |||||||
| 预计可用库存 | 50 | 50 | 150 | 150 | 150 | 10 | 10 | 10 |
| 净需求 | 60 | 300 | ||||||
| 计划订单接收 | 60 | 300 | ||||||
| 计划订单下达 | 60 | 300 |
物料 C 的 MRP(批量 = 固定 200):
C 的毛需求:第 6 周 100,第 8 周 150
C 的期初库存 = 30,安全库存 = 0,提前期 1 周
第 1-5 周:PAB = 30(无需求)
第 6 周:毛需求 100 → PAB = 30 - 100 = -70
净需求 = 70
批量规则 = 固定 200 → 计划订单接收 = 200
新 PAB = -70 + 200 = 130
计划订单下达 = 第 5 周下达 200
第 7 周:PAB = 130
第 8 周:毛需求 150 → PAB = 130 - 150 = -20
净需求 = 20
批量规则 = 固定 200 → 计划订单接收 = 200
新 PAB = -20 + 200 = 180
计划订单下达 = 第 7 周下达 200
⚠️ 注意固定批量带来的多余库存:C 在第 6 周只需要 70,但因为批量是 200,实际订了 200,剩下 130 留到下一期。这就是批量规则的代价。
4.6 批量规则
| 规则 | 做法 | 优点 | 缺点 |
|---|---|---|---|
| 直接批量(Lot-for-Lot, L4L) | 订多少 = 净需求多少 | 库存最低 | 订货次数多,订货成本高;无批量折扣 |
| 固定批量(FOQ) | 每次订固定数量 | 简单,可利用折扣 | 产生多余库存 |
| 经济订货批量(EOQ) | 按 EOQ 公式 | 理论最优(假设稳定需求) | MRP 环境需求是波动的,EOQ 假设不成立 |
| 定期批量(POQ) | 覆盖 N 期的需求 | 折中 | |
| 最小-最大 | 补到最大值,但不低于最小批量 | 灵活 |
⚠️ 重要提醒:EOQ 在 MRP 环境下通常不适用。因为 EOQ 假设需求连续均匀,而 MRP 面对的是离散的、波动的批量需求。实务中更常用 L4L 或 POQ。
4.7 MRP 的更新方式
| 方式 | 做法 | 特点 |
|---|---|---|
| 再生式(Regenerative) | 每次运行时,全部重新计算 | 数据一致,但计算量大,通常定期(如每周)运行 |
| 净改变式(Net Change) | 只计算有变动的部分 | 实时响应,但计算频繁,易积累误差 |
4.8 MRP 的局限与 MRP II / ERP
MRP 的局限:
- 假设产能无限——MRP 不考虑能力约束,算出的计划在产能上可能不可行
- 无反馈机制——计划执行的结果不会自动反馈回计划层
- 只管物料——不涉及财务、人力、销售
MRP II(制造资源计划):把产能、人力、财务纳入,形成闭环。
ERP(企业资源计划):进一步扩展到企业全流程(财务、人力、销售、采购、生产),实现物流、资金流、信息流的集成。
关键区别:
MRP:物料需求计划
MRP II:制造资源计划(闭环,含能力 + 财务)
ERP:企业资源计划(全企业集成)
五、能力需求计划(CRP)
5.1 产能的概念
| 概念 | 定义 |
|---|---|
| 设计产能 | 理想条件下的最大产出 |
| 核定产能 | 考虑实际产品组合后的产能 |
| 可用产能 | = 核定产能 × 利用率 × 效率 |
| 实际产出 | 真正生产出来的数量 |
公式:
可用产能 = 设备数量 × 每日班次 × 每班工时 × 工作日数 × 利用率 × 效率
利用率(Utilization)= 实际使用时间 / 计划可用时间
效率(Efficiency)= 实际产出 / 标准产出(同时间内)
产能利用率 = 实际产出 / 设计产能
有效产能利用率 = 实际产出 / 有效产能
产能与规模经济的关系:
单位成本
↑
│ ╲
│ ╲___
│ ╲___
│ ╲___
└──────────────────────→ 产量
↑
最优运营水平(单位成本最低)
重要认知:产能利用率不是越高越好。超过 85%-90% 后,系统变得脆弱——任何波动都会导致严重的交期问题。这就是为什么精益生产中要给系统留缓冲。
5.2 CRP 的计算
步骤:
1. 从 MRP 得到各工作中心的计划订单下达
2. 按工艺路线,计算每件产品在各工作中心的负荷
负荷 = 准备时间 + 单件加工时间 × 数量
3. 按期汇总各工作中心的总负荷
4. 与可用能力对比,生成负荷报告
5. 若超载,采取措施
负荷率 = 计划负荷 / 可用能力 × 100%
| 负荷率 | 判断 |
|---|---|
| < 85% | 能力充裕 |
| 85%-100% | 紧张但可行 |
| 100%-110% | 超载,需调整 |
| > 110% | 严重超载 |
超载时的应对措施:
| 措施 | 说明 |
|---|---|
| 加班 | 短期、灵活,但成本上升 |
| 外协 | 快速增加产能,但质量和交期风险 |
| 调整批量 | 增大批量以减少换型时间 |
| 重排优先级 | 优先保证重要订单 |
| 调整工艺路线 | 把负荷转移到其他工作中心 |
| 能力投资的长期决策 | 增加设备/人力 |
5.3 约束理论视角:瓶颈管理
这是理解产能问题的关键视角。
TOC 的五步法:
1. 识别系统约束(瓶颈)
2. 充分利用瓶颈(让瓶颈永不空闲)
3. 让其他一切服从瓶颈的决策(非瓶颈的利用率不由自己决定)
4. 提升瓶颈能力(投资于瓶颈)
5. 若瓶颈被打破,回到步骤 1(警惕惰性)
三个关键洞察:
- 系统的产出由瓶颈决定。改善非瓶颈工序,不会增加系统产出,只会增加库存。
- 瓶颈的损失 = 整个系统的损失。瓶颈停 1 小时,整个系统损失 1 小时产出。
- 瓶颈前要有缓冲库存,瓶颈后的节拍由瓶颈决定。
六、车间排程(Scheduling)
6.1 排程问题的分类
| 分类维度 | 类型 |
|---|---|
| 按设备布局 | 流水车间(Flow Shop) / 作业车间(Job Shop) / 单件车间 |
| 按目标 | 最小化完工时间(Makespan)、最小化平均流程时间、最小化延迟、最大化设备利用率 |
| 按确定性 | 静态排程 / 动态排程 |
6.2 常用的优先调度规则
| 规则 | 全称 | 做法 | 特点 |
|---|---|---|---|
| FCFS | First Come First Served | 先到先服务 | 公平,但效率低 |
| SPT | Shortest Processing Time | 优先加工时间最短的 | 最小化平均流程时间和平均延误,但长作业可能「饥饿」 |
| EDD | Earliest Due Date | 优先交期最早的 | 最小化最大延误 |
| LPT | Longest Processing Time | 优先加工时间最长的 | 有利于负载均衡 |
| CR | Critical Ratio | 优先临界比最小的 | 动态,综合考虑剩余时间和剩余工作量 |
| STR / SLACK | Slack Time Remaining | 优先松弛时间最小的 | 类似于 CR |
| MWKR | Most Work Remaining | 优先剩余工作量最多的 | |
| LWKR | Least Work Remaining | 优先剩余工作量最少的 |
临界比 CR 的计算:
CR = (交货期 - 当前时间) / 剩余加工时间
CR = 1 → 刚好按期完成
CR < 1 → 已经落后于进度(**优先处理**)
CR > 1 → 有余量
6.3 评价指标
| 指标 | 含义 |
|---|---|
| 完工时间(Makespan) | 完成所有作业的总时间 |
| 流程时间(Flow Time) | 单个作业从到达到完工的时间 |
| 延误时间(Tardiness) | max(0, 完工时间 - 交期) |
| 拖后件数 | 延误的作业数量 |
| 设备利用率 | 设备实际加工时间 / 可用时间 |
SPT 规则的一个反直觉结论:
SPT 最小化平均流程时间,但不最小化最大流程时间。
更重要的是:SPT 会让长作业排在最后,导致长作业严重延误。实务中需要平衡。
6.4 Johnson 算法(两台设备的流水车间)
适用:n 个作业,都要先经过设备 1,再经过设备 2,求最小化完工时间(Makespan)。
Johnson 规则:
步骤 1:列出每个作业在两台设备上的加工时间 (M1_i, M2_i)
步骤 2:找出所有未排序作业中的最短加工时间
步骤 3:
· 若该最短时间属于设备 1 → 该作业尽可能往前排
· 若该最短时间属于设备 2 → 该作业尽可能往后排
步骤 4:划去该作业,重复步骤 2-3,直到全部排完
算例:
5 个作业在两台设备上的加工时间:
作业 M1 M2
A 4 5
B 3 2
C 7 3
D 2 6
E 6 4
最短时间是 D 的 M1=2(属于 M1)→ D 排第一
剩余最短是 B 的 M2=2(属于 M2)→ B 排最后
剩余最短是 C 的 M2=3(属于 M2)→ C 排倒数第二
剩余最短是 A 的 M1=4(属于 M1)→ A 排第二
剩余是 E → 排中间
最优顺序:D → A → E → C → B
甘特图与 Makespan 计算:
M1: |DD|AAAA|EEEEEE|CCCCCCC|BBB|
M2: | |DDDD| AAAAA| EEEE|CCC|BB|
0 2 6 12 15 18 20
Makespan = 20 小时
6.5 甘特图
甘特图是排程最直观的表达工具。
两种形式:
| 形式 | 说明 |
|---|---|
| 机器导向甘特图 | 横轴是时间,每行代表一台机器 |
| 作业导向甘特图 | 横轴是时间,每行代表一个作业 |
高级应用场景:
- 负荷图(Gantt Load Chart):显示各资源的负荷率
- 项目甘特图:显示任务依赖与关键路径(与网络计划结合)
6.6 排程的现实约束
理论模型很优雅,但实际车间排程要考虑:
| 现实约束 | 说明 |
|---|---|
| 换型时间(Setup Time) | 与顺序相关(Sequence-Dependent Setup),大幅增加复杂度 |
| 设备故障 | 不确定性 |
| 急单插入 | 打破原有排程 |
| 物料可用性 | 排了但料没到 |
| 人员技能矩阵 | 不是所有人能做所有工序 |
| 模具/工装限制 | 数量有限 |
实务做法:用排程软件(APS,高级计划与排程系统)处理复杂约束,人工只做例外管理。常见的 APS 软件包括 Siemens Opcenter、达索 DELMIA、永凯 APS 等。
七、库存管理
7.1 库存的作用与成本
库存的四个作用:
| 作用 | 说明 |
|---|---|
| 周转库存(Cycle Stock) | 批量采购/生产形成的库存 |
| 安全库存(Safety Stock) | 应对需求和供应的不确定性 |
| 在途库存(In-transit) | 运输途中的库存 |
| 季节性库存 | 为旺季备货 |
库存的三种成本:
| 成本 | 说明 |
|---|---|
| 持有成本(Holding Cost) | 资金占用、仓储、保险、损耗、贬值。通常为库存价值的 20%-30%/年 |
| 订货成本(Ordering Cost) | 采购/生产的准备成本(下单、验收、换型) |
| 缺货成本(Shortage Cost) | 失去销售、违约赔偿、客户流失、停工待料 |
7.2 EOQ 模型(经济订货批量)
基本 EOQ 的假设:
- 需求恒定且已知
- 提前期恒定
- 瞬时补货(一次性到货)
- 不允许缺货
- 价格与批量无关
公式:
经济订货批量:
Q* = √(2DS/H)
其中:
D = 年需求量
S = 每次订货成本
H = 单位物品年持有成本(通常 H = i × C,i 为持有成本率,C 为单价)
最优订货次数:
n* = D / Q*
最优订货间隔:
T* = Q* / D (年)
最低总成本:
TC* = √(2DSH)
算例:
某零件年需求量 D = 12000 件
每次订货成本 S = 300 元
单价 C = 50 元
年持有成本率 i = 25% → H = 50 × 25% = 12.5 元/件/年
Q* = √(2 × 12000 × 300 / 12.5) = √(576000) = 759 件
n* = 12000 / 759 = 15.8 次/年(约每 23 天订一次)
TC* = √(2 × 12000 × 300 × 12.5) = √(90,000,000) = 9487 元/年
EOQ 最重要的性质:曲线平坦
总成本
↑
│ ╭────────╮
│ ╭─╯ ╰─╮
│ ╭─╯ ╰─╮
│─────────────────────→ 订货量 Q
↑
Q*
关键含义:在 Q 附近,总成本变化很小*。这意味着:
即使参数估计有误差(如 D、S、H 估算不准),用 EOQ 得到的总成本与真正最优的差别也很小。
因此,EOQ 是一个非常稳健的模型——这是它在实务中被广泛使用的原因。
示例:若实际订货量是 Q* 的 1.5 倍,总成本只增加约 8%。
7.3 EOQ 的扩展模型
(1)经济生产批量(EPQ / ELS)
适用于边生产边消耗的情形(生产速率 P > 需求速率 D):
Q* = √(2DS / (H × (1 - D/P)))
最大库存 = Q* × (1 - D/P)
(2)允许缺货的 EOQ
Q* = √(2DS/H) × √((H + B)/B)
其中 B 为单位物品年缺货成本
最大缺货量 S* = Q* × H/(H + B)
(3)数量折扣模型
步骤:
1. 从最低价格档开始计算 EOQ
2. 若该 EOQ 落在该档的数量区间内 → 可行,计算总成本
3. 若 EOQ 低于该档下限 → 取该档下限作为候选
4. 逐档向上,计算所有可行方案的总成本(**含采购成本**)
5. 取总成本最小者
总成本 = 采购成本 + 订货成本 + 持有成本
= D×C + (D/Q)×S + (Q/2)×H
7.4 安全库存与服务水平
安全库存的作用:应对需求和提前期的波动。
基本公式(需求波动,提前期恒定):
SS = z × σ_d × √L
其中:
z = 对应服务水平的标准正态分布分位数
σ_d = 日需求的的标准差
L = 提前期(天)
服务水平与 z 值:
| 服务水平 | z 值 |
|---|---|
| 90% | 1.28 |
| 95% | 1.645 |
| 97.5% | 1.96 |
| 98% | 2.05 |
| 99% | 2.33 |
订货点(Reorder Point, ROP):
ROP = 平均日需求 × 提前期 + 安全库存
= d̄ × L + SS
算例:
日需求均值 d̄ = 100 件,日需求标准差 σ_d = 20 件
提前期 L = 9 天
目标服务水平 95% → z = 1.645
SS = 1.645 × 20 × √9 = 1.645 × 20 × 3 = 98.7 ≈ 99 件
ROP = 100 × 9 + 99 = 999 件
→ 当库存降到 999 件时,就应下达订单
关键认知:服务水平从 95% 提升到 99%,安全库存增加约 42%(z 从 1.645 增到 2.33)。
安全库存与期望缺货量的关系(权衡):
服务水平越高 → 安全库存越多 → 持有成本越高
服务水平越低 → 缺货越多 → 缺货成本越高
实务中的服务水平设定:通常按 ABC 分类差异化设定:
| 类别 | 服务水平 | 理由 |
|---|---|---|
| A 类(高价值/关键) | 95%-99% | 缺货代价高 |
| B 类 | 90%-95% | |
| C 类(低价值) | 85%-90% | 多备一点成本低 |
7.5 ABC 分类与库存策略
ABC 分类(帕累托原则):
| 类别 | 占品种数 | 占库存价值 | 管理策略 |
|---|---|---|---|
| A 类 | 约 10%-20% | 约 70%-80% | 重点管理:严格盘点、精确预测、频繁订货 |
| B 类 | 约 20%-30% | 约 15%-20% | 常规管理 |
| C 类 | 约 50%-70% | 约 5%-10% | 简化管理:大量订货、简化记录、双堆法 |
ABC 与 XYZ 的组合(二维分类):
| X(需求稳定) | Y(需求波动中等) | Z(需求不稳定) | |
|---|---|---|---|
| A(高价值) | 精确预测,JIT 供应 | 中等安全库存 | 高安全库存,密切监控 |
| B(中价值) | 常规补货 | 定期审查 | 较高安全库存 |
| C(低价值) | 简化采购,批量大 | 双堆法 | 按需采购 |
八、牛鞭效应(Bullwhip Effect)
8.1 什么是牛鞭效应
定义:需求信息沿供应链从终端向上游传递时,波动被逐级放大的现象。
真实消费需求: ╱╲╱╲╱╲╱╲ (小幅波动)
零售商订单: ╱╲ ╱╲ ╱╲
分销商订单: ╱ ╲╱ ╲╱ ╲
制造商订单: ╱ ╲ ╱ ╲
供应商订单: ╱╲ ╱╲
幅度逐级放大(像甩动的牛鞭)
经典的「啤酒游戏」(MIT Sloan 开发)就是演示这个现象。
8.2 牛鞭效应的四大成因
| 成因 | 机制 |
|---|---|
| 需求预测更新 | 各节点根据下游订单(而非终端需求)预测,误差层层累积 |
| 订单批量 | 为摊薄订货成本而批量订货,导致需求被「集中」释放 |
| 价格波动 | 促销导致客户提前购买(提前购买 Forward Buying),造成需求失真 |
| 短缺博弈(Rationing Game) | 供不应求时,下游夸大订单以争取更多配额;供应恢复后大量取消 |
8.3 牛鞭效应的四类对策
| 对策 | 具体做法 | 对应成因 |
|---|---|---|
| 信息共享 | POS 数据共享、CPFR、VMI | 需求预测更新 |
| 缩短提前期 | 改进流程、本地化供应 | 需求预测更新、订单批量 |
| 减小批量 | EDI、混合装载、降低订货成本 | 订单批量 |
| 稳定价格 | 天天低价(EDLP)替代促销 | 价格波动 |
| 配额按历史而非订单 | 短缺时按历史销售比例分配 | 短缺博弈 |
最重要的对策是信息共享——如果供应链各节点都能看到真实的终端销售数据,牛鞭效应会大幅减弱。
九、JIT 与精益的计划逻辑
9.1 推动 vs 拉动
| 维度 | 推动式(Push) | 拉动式(Pull) |
|---|---|---|
| 驱动 | 预测驱动 | 实际需求驱动 |
| 信息流 | 计划部门向各环节下达指令 | 后工序向前工序取货 |
| 典型 | MRP | 看板(Kanban) |
| 库存 | 高(缓冲) | 低(暴露问题) |
| 适用 | 需求稳定、品种少、批量大 | 需求波动、多品种小批量 |
实务中多数是混合的:前段推动 + 后段拉动(推拉结合点,Push-Pull Boundary)。
9.2 看板系统
看板的两种类型:
| 类型 | 全称 | 说明 |
|---|---|---|
| 生产看板 | Production Kanban | 指示前工序生产什么、生产多少 |
| 传送看板 | Withdrawal Kanban | 指示后工序去取什么、取多少 |
看板数量的计算:
N = (D × L × (1 + α)) / C
其中:
D = 单位时间需求量
L = 生产提前期(含等待、运输、换型)
α = 安全系数(通常 0.1-0.3)
C = 容器容量
看板数量的含义:
看板数量 = 系统中的在制品上限
看板数量越多 → 库存越高,系统越「宽松」
看板数量越少 → 库存越低,但停线风险越高
精益的做法:逐步减少看板数量,暴露问题,解决问题,再减少
这正是丰田「水位与礁石」的比喻:
库存是水位,问题是礁石。降低水位,礁石就会暴露出来,这时必须搬走礁石(解决问题),否则船会搁浅。
9.3 均衡化(Heijunka)
问题:如果按订单顺序生产(A 产品 1000 个,再 B 产品 1000 个),会造成:
- 上游零部件需求剧烈波动
- 某些工序过载,某些空闲
解决:均衡化——把月度的产量和品种混合,均匀分配到每天。
不均衡:AAAAAAAA BBBBBBBB CCCCCCCC
均衡化:ABC ABC ABC ABC ABC ABC ABC ABC
均衡化的两个层次:
| 层次 | 说明 |
|---|---|
| 数量均衡 | 每天生产相同数量 |
| 品种均衡 | 每天生产相同的品种组合 |
十、学习计划与常见误区
10.1 学习要点排序
| 优先级 | 内容 | 理由 |
|---|---|---|
| ★★★★★ | MRP 展开逻辑 | 核心计算,必考,也是 ERP 的引擎 |
| ★★★★★ | EOQ 与安全库存 | 高频考点 + 实务常用 |
| ★★★★ | 需求预测方法 | 选择依据与误差度量 |
| ★★★★ | 排程规则与 Johnson 算法 | 常考计算 |
| ★★★★ | 牛鞭效应 | 高频论述题 |
| ★★★ | MPS 与 ATP | 概念理解为主 |
| ★★★ | 产能与负荷 | 计算相对简单 |
| ★★ | 综合计划策略 | 概念为主 |
10.2 常见误区
| # | 误区 | 纠正 |
|---|---|---|
| 1 | 把 MPS 和 MRP 混为一谈 | MPS 管最终产品,MRP 管物料 |
| 2 | MRP 展开时忽略低层码 | 必须按低层码顺序逐层计算 |
| 3 | 批量规则套用 EOQ | MRP 环境下需求是波动的,EOQ 假设不成立 |
| 4 | 安全库存算错(忘记 √L) | SS = z × σ_d × √L |
| 5 | 混淆「利用率」和「效率」 | 利用率是时间比,效率是产出比 |
| 6 | 认为「产能利用率越高越好」 | 超过 85%-90% 系统变得脆弱 |
| 7 | Johnson 算法排序规则记反 | M1 最短往前排,M2 最短往后排 |
| 8 | 认为 SPT 是最优规则 | SPT 最小化平均流程时间,但长作业会饥饿 |
| 9 | 忽略牛鞭效应的「短缺博弈」成因 | 这是四个成因中最容易被忘的一个 |
| 10 | 认为 JIT 就是零库存 | JIT 的本质是暴露问题,零库存是结果不是目的 |
10.3 三个必做的练习
- 完整做一次 MRP 展开:从 BOM 到 MPS 到逐层展开,手算一遍(这是理解 MRP 的唯一方法)
- 计算一次安全库存:找一个真实场景(如便利店的某种商品),估算需求波动,计算 ROP
- 模拟一次牛鞭效应:用 Excel 模拟 4 级供应链,观察订单放大的过程
结语:PPC 的本质是在不确定中做协调
生产计划与控制这门课的终极目标,不是算出漂亮的表格,而是回答一个现实问题:
在需求不确定、资源有限、信息不完全的条件下,如何协调人、机、料,以最低的成本准时交付?
这套方法体系给出的答案是:分层计划 + 逐级细化 + 反馈修正。
三条最重要的认知:
第一,计划的价值不在于准确,而在于提供一个协调的基准。 所有计划都会被打破,但正因为有基准,你才能识别出偏差、分析原因、做出调整。
第二,缩短提前期是最有效的改进。 提前期越短,你越能基于真实需求而非预测做决策。这就是为什么精益生产如此强调快速换型(SMED)和连续流。
第三,不要试图用一套计划解决所有问题。 MRP 适合管理复杂的物料需求;看板适合管理稳定的重复生产;APS 适合处理复杂约束的排程。理解每种方法的适用边界,比掌握任何一种方法更重要。
最后,如果你想检验自己是否真的掌握了这门课,试着回答一个问题:
「如果客户突然要求把交期提前两天,你会动哪些计划?影响会传导到哪里?」
能回答这个问题,你就真的懂了生产计划与控制。
附:核心公式速查
预测
移动平均:F_{t+1} = (A_t + ... + A_{t-n+1})/n
一次指数平滑:F_{t+1} = α·A_t + (1-α)·F_t
MAD = Σ|A_t - F_t|/n
MAPE = Σ|(A_t-F_t)/A_t|/n × 100%
跟踪信号 TS = Σ(A_t - F_t)/MAD
MRP
PAB_t = PAB_{t-1} + 计划接收 + 计划订单接收 - 毛需求
净需求 = 安全库存 - PAB(若 PAB < 安全库存)
计划订单下达 = 计划订单接收按提前期前移
库存
EOQ: Q* = √(2DS/H)
EPQ: Q* = √(2DS/(H(1-D/P)))
TC* = √(2DSH)
安全库存 SS = z × σ_d × √L
订货点 ROP = d̄ × L + SS
看板数 N = D×L×(1+α)/C
能力
可用产能 = 设备数 × 班次 × 工时 × 工作日 × 利用率 × 效率
负荷率 = 计划负荷 / 可用能力
排程
临界比 CR = (交期 - 当前时间) / 剩余加工时间
平均流程时间、平均延误、Makespan
Johnson 规则:M1 最短往前排,M2 最短往后排
相关阅读
- ERP、MES 与工业软件完全学习指南:从数据流转看制造信息化:工业软件的本质是把管理逻辑固化到系统里,而这个逻辑正是 IE 的专业领域。本文按 ISA-9…
- 生产计划与排程:从 MRP 到 APS 的完整逻辑:讲清计划五层体系、MPS 时栅制度与 ATP 可承诺量算例、MRP 的净需求-批量-时间倒推…
- 设施规划与物流完全学习指南:SLP 方法与仓储设计:物流成本占制造成本的 20%-50%,且布局一旦确定就很难更改——这是 IE 中杠杆率最高的…
- 工业工程专业值得参加的学科竞赛清单与备赛建议:按推荐度分级梳理工业工程与精益管理创新大赛、机械创新设计、工程训练、数学建模、物流设计等竞赛…
- 工业工程毕设选题与写作指南:真题真做,做出能写进简历的作品:给出校园场景、企业实习、方法研究、调研综述四类选题清单与三条判断原则,提供改善类毕设的七章结…