📦 经济订货批量 · EOQ

从入门到进阶 · 库存优化
📐 EOQ 公式推导 Economic Order Quantity

总成本 = 年订货成本 + 年持有成本 (不考虑缺货与物料成本)

  • D – 年需求量 (单位/年)
  • S – 每次订货成本 (元/次)
  • H – 单位年持有成本 (元/单位·年)
  • Q – 每次订货批量 (单位)

年总成本 TC(Q) = (D/Q)·S + (Q/2)·H

对 Q 求导并令导数为零:

d(TC)/dQ = -D·S/Q² + H/2 = 0 → Q* = √(2DS/H)
最优订货批量
EOQ
= √(2DS/H)
使总成本最小
🧩 假设条件
📌 需求率恒定,已知且连续
📌 订货提前期固定为零或常数
📌 瞬时到货,无缺货
📌 订货成本与批量无关
📌 持有成本为线性
📌 物料单价不变,无数量折扣
📌 独立需求,不受其他物料影响
📌 无限计划期
📊 最优订货批量 & 年总成本最小化
参数符号示例数值计算过程
年需求量D12,000 件—
每次订货成本S¥ 150—
单位年持有成本H¥ 4.0—
最优订货批量Q*949 件√(2×12000×150 / 4.0) = √(900000) ≈ 948.68
年订货次数D/Q*≈ 12.65 次12000 / 948.68
年订货成本(D/Q*)·S¥ 1,89712.65 × 150
年持有成本(Q*/2)·H¥ 1,897(948.68/2)×4.0
最小年总成本TC*¥ 3,7941897 + 1897 = 3794
📉 成本曲线 · 经济批量可视化
订货批量 Q 年总成本 持有成本 (Q/2)·H 订货成本 (D/Q)·S 总成本 TC Q* (EOQ) TC min 总成本 持有成本 订货成本
💻 代码实现 · EOQ 计算器
# 经济订货批量 (EOQ) 计算 & 年总成本最小化
def eoq(D, S, H):
    """ D: 年需求量, S: 订货成本, H: 单位持有成本 """
    Q_star = (2 * D * S / H) ** 0.5
    TC_min = (D / Q_star) * S + (Q_star / 2) * H
    return round(Q_star, 2), round(TC_min, 2)

# 示例
D, S, H = 12000, 150, 4.0
Q_opt, TC_opt = eoq(D, S, H)
print(f"最优订货批量: {Q_opt} 件")
print(f"最小年总成本: ¥{TC_opt}")
# 输出: 最优订货批量: 948.68 件, 最小年总成本: ¥3794.73
🔁 进阶思考
总成本在 EOQ 附近相对平坦,±20% 的批量偏差仅增加约 2% 成本。适合批量取整或结合运输规模。