4. EOQ 模型扩展:数量折扣下的 EOQ、允许缺货的 EOQ、生产批量模型 (EPQ)、多产品联合订货

经典 EOQ 模型建立在需求恒定、瞬时到货、不允许缺货、无价格折扣等理想假设之上。实际供应链场景中,这些假设往往不成立。本章对 EOQ 进行四个方向的实用扩展,使模型更贴近真实业务。

4.1 数量折扣下的 EOQ

供应商常提供阶梯价格:订货量越大,单位采购成本越低。此时需要在采购成本节约与库存持有成本增加之间权衡。

4.1.1 全量折扣 vs. 增量折扣

折扣类型 定价规则 总成本公式调整 求解策略
全量折扣 (All-Units) 订货量达到某个阈值后,所有单位均享受折扣价 总成本 = 采购成本 + 订货成本 + 持有成本;采购成本 = D × 单价(q) 对每个价格区间计算 EOQ,取可行且总成本最低的 Q
增量折扣 (Incremental) 仅超出阈值部分享受折扣价,阈值内按原价 采购成本 = 原价×阈值 + 折扣价×(Q - 阈值) 分段计算平均单价,代入 EOQ 公式迭代求解

4.1.2 全量折扣求解步骤

  1. 列出价格-数量区间:例如 [0, 999] → ¥100/件,[1000, 4999] → ¥95/件,[5000, ∞) → ¥90/件。
  2. 对每个区间计算 EOQ:使用该区间的最低单价计算 EOQ_i = √(2DS / (H × 单价_i))。
  3. 检查可行性:若 EOQ_i 落在该区间内,则为可行解;否则取区间边界。
  4. 计算各可行解的总成本:TC = D×单价 + (D/Q)×S + (Q/2)×H×单价。
  5. 选择总成本最小的 Q。
实战提示:全量折扣下,不要直接使用最低价计算 EOQ 就结束。必须检查该 EOQ 是否达到折扣门槛。若未达到,则门槛值可能是更优解。

4.2 允许缺货的 EOQ

当缺货成本(如失销利润、客户流失、紧急补货费)低于持有成本时,允许少量缺货反而能降低总成本。此模型又称 EOQ with Backordering 或 EOQ with Planned Shortages。

4.2.1 模型参数与决策变量

符号 含义 典型单位
D 年需求量 件/年
S 每次订货成本 ¥/次
H 单位年持有成本 ¥/件·年
B 单位年缺货成本 ¥/件·年
Q 订货批量(到货量) 件
V 最大缺货量(允许欠交) 件

4.2.2 最优解公式

最优订货批量:Q* = √( (2DS / H) × ((H + B) / B) )
最大缺货量:  V* = Q* × (H / (H + B))
最大库存水平:I_max = Q* - V*
年总成本:    TC* = √( 2DSH × (B / (H + B)) )
  • 当 B → ∞(缺货成本极高),Q* 退化为经典 EOQ,V* → 0。
  • 当 B → 0(缺货几乎无成本),Q* → ∞,V* → Q*,即永远缺货,不现实。
应用场景:备件库存、低利润快消品、供应商补货周期短且客户容忍度高的行业。缺货成本需量化:包括紧急运费、客户流失率折算、品牌损失等。

4.3 生产批量模型 (EPQ)

EPQ(Economic Production Quantity)适用于内部生产而非外部采购的场景。核心区别:物料不是一次到齐,而是以生产速率 p 逐步入库,同时需求以速率 d 持续消耗。

4.3.1 核心假设与参数

  • 生产速率 p > 需求速率 d(否则无法满足需求)。
  • 每次生产启动成本(换线/调试)替代订货成本。
  • 库存以 (p - d) 的速率累积,生产停止后以 d 消耗。

4.3.2 EPQ 最优解

最优生产批量:Qp* = √( (2DS) / (H × (1 - d/p)) )
最大库存水平:I_max = Qp* × (1 - d/p)
生产时间:    tp = Qp* / p
消耗时间:    td = I_max / d
年总成本:    TC* = √( 2DSH × (1 - d/p) )

当 p → ∞(瞬时生产),EPQ 退化为 EOQ。

常见错误:直接用 EOQ 公式计算生产批量,忽略 (1 - d/p) 因子。当 d/p 接近 1(产能紧张)时,EPQ 批量远大于 EOQ,忽略该因子会导致严重缺货。

4.4 多产品联合订货

当多个产品共享同一供应商、运输渠道或订货流程时,联合订货可以分摊固定订货成本,降低总成本。核心问题:确定共同订货周期 T 和每个产品的订货比例。

4.4.1 联合订货成本结构

成本类型 说明 数学表达
主固定成本 每次订货无论品种均发生(如运输费) S0
从属固定成本 每个产品单独产生的订货成本(如质检) si
持有成本 各产品独立计算 Hi = h × 单价i

4.4.2 最优联合订货周期

共同订货周期:T* = √( 2(S0 + Σsi) / Σ(Hi × Di) )
产品 i 的订货量:Qi* = Di × T*
年总成本:TC* = (S0 + Σsi)/T* + (T*/2) × Σ(Hi × Di)

若各产品需求差异极大,可考虑按周期分组联合:将产品按需求频率分为几组,每组内联合订货,组间独立。

4.4.3 联合订货 vs. 独立订货对比

维度 独立订货 联合订货
订货次数 各产品各自最优频率 统一频率,次数减少
固定成本分摊 每次只摊一个产品 主成本由多产品分摊
库存水平 各产品独立最优 部分产品可能偏离独立最优
适用场景 产品间无共享成本 共享运输/供应商/订货流程

4.5 四种扩展模型选型决策图

以下 SVG 图帮助你在实际项目中快速选择正确的扩展模型。

EOQ 扩展模型选型决策流程 经典 EOQ 假设成立? 是否内部生产? EPQ 模型 采购场景 有数量折扣? 折扣 EOQ 允许缺货? 缺货 EOQ 经典 EOQ 多产品共享成本? 联合订货

4.6 扩展模型参数速查表

模型 核心决策变量 关键参数 与经典 EOQ 的关系
折扣 EOQ 订货批量 Q 价格区间、折扣阈值 分段计算,取可行最低总成本
缺货 EOQ Q、最大缺货量 V 缺货成本 B B→∞ 时退化为 EOQ
EPQ 生产批量 Qp 生产速率 p、需求速率 d p→∞ 时退化为 EOQ
联合订货 共同周期 T、各产品 Qi 主成本 S₀、从属成本 sᵢ 各产品独立时退化为独立 EOQ
工程落地建议:实际项目中,四种扩展模型往往组合使用。例如:多产品联合订货 + 全量折扣 + 允许少量缺货。建议先按决策图确定主模型,再叠加次要扩展条件,用 Python 或 Excel 迭代求解,避免一次性建立过于复杂的解析模型。