跳到主要内容

EPQ

一、直观理解:边生产边消耗时的经济生产批量​

EPQ(Economic Production Quantity,经济生产批量)也叫生产型 EOQ:补货不是瞬时到货,而是以有限生产率 PP 逐渐入库,同时需求以速率 DD 消耗(P>DP>D)。最大库存低于 QQ,因为生产期间已有消耗。

适合工厂“自己生产补库存”的场景,而不是从外部一次到货。

二、适用场景与优缺点​

类型说明
适用场景有限生产率;生产准备成本显著;需求稳定;单阶段生产—库存。
核心优点闭式解清晰;与 EOQ 结构平行;易做参数分析。
局限与缺点确定性假设;多产品换线、随机故障需扩展;质量与不合格品未纳入基本模型。

三、核心原理​

生产批量 QQ,生产率 PP,需求率 DD,准备成本 KK,单位持有成本 hh。最大库存

Imax⁡=Q(1−DP)I_{\max}=Q\Big(1-\frac{D}{P}\Big)

平均库存 Imax⁡/2I_{\max}/2,年成本

TC(Q)=DQK+Q2(1−DP)hTC(Q)=\frac{D}{Q}K+\frac{Q}{2}\Big(1-\frac{D}{P}\Big)h

最优

Q∗=2KDh(1−D/P)Q^*=\sqrt{\frac{2KD}{h(1-D/P)}}

当 P→∞P\to\infty 时退化为 EOQ。

四、实践要点​

  • 确认 P>DP>D;
  • 时间单位统一;
  • 比较 EPQ 与 EOQ 的 Imax⁡I_{\max} 差异;
  • 多品种时考虑共同循环或换产约束。

五、MATLAB 示例​

%% EPQ vs EOQ
D = 8000;
P = 20000;
K = 150;
h = 3;

Q_epq = sqrt(2*K*D/(h*(1-D/P)));
Q_eoq = sqrt(2*K*D/h);
Imax = Q_epq*(1-D/P);
TC = @(Q) (D./Q)*K + (Q/2)*(1-D/P)*h;

fprintf("EPQ=%.2f, EOQ=%.2f, Imax=%.2f\n", Q_epq, Q_eoq, Imax);
fprintf("EPQ 年成本=%.2f\n", TC(Q_epq));

Q = linspace(0.2*Q_epq, 3*Q_epq, 200);
figure;
plot(Q, TC(Q), "LineWidth", 1.5); hold on;
xline(Q_epq, "--");
xlabel("生产批量 Q"); ylabel("年总成本");
title("EPQ 成本曲线"); grid on;

库存时间轨迹示意:

Q = Q_epq;
t_prod = Q/P;
t_cycle = Q/D;
t = linspace(0, 2*t_cycle, 400);
I = zeros(size(t));
for k = 1:numel(t)
tau = mod(t(k), t_cycle);
if tau <= t_prod
I(k) = (P-D)*tau;
else
I(k) = Imax - D*(tau - t_prod);
end
end
figure; plot(t, I, "LineWidth", 1.5);
xlabel("时间"); ylabel("库存水平");
title("EPQ 库存锯齿波(有限供货)"); grid on;

六、如何解释结果​

报告 Q∗Q^*、生产时间、循环时间、最大/平均库存与年成本,强调有限生产率使最大库存低于订货批量。给出 PP 变化时的敏感性。

七、常见误区​

1. P≤DP\le D 仍套公式​

系统无法积累库存。

2. 与 EOQ 混用提前期公式​

库存轨迹不同,再订货逻辑需按生产系统重定。

3. 忽略准备时间对产能的占用​

多产品时准备时间影响可行域。

附:建模流程中的落地清单(EPQ)​

要把方法真正写进论文,建议补齐以下模块,而不是只贴一个最终数字。

1. 问题对齐与假设​

说明题目中的输入/输出如何映射到本方法,并显式列出关键假设。假设越清楚,后面的敏感性分析越有对象。

2. 关键关系​

Q∗=2KD/[h(1−D/P)]Q^*=\sqrt{2KD/[h(1-D/P)]},P>DP>D;最大库存 Q(1−D/P)Q(1-D/P)。

3. 补充实现片段​

D=8000;P=20000;K=150;h=3; Q=sqrt(2*K*D/(h*(1-D/P))); fprintf('EPQ=%.2f Imax=%.2f\n',Q,Q*(1-D/P));

4. 报告要素​

生产率、批量、最大库存、成本、与 EOQ 对比。

5. 不适用情形​

P≤DP\le D;与 EOQ 提前期公式混用。

6. 与验证章节的衔接​

至少做一项:参数扰动、与基线方法对照、极限情形检查。把“方法正文”和“全局方法论(第15门类)”连起来,结论才站得住。

附:结果解读示例与常见审稿问题​

结果解读示例​

假设已经得到主要数值输出。写作时应把数字翻译回题目语言,例如:

  • “在基准参数下指标为 A;当关键参数变化 ±10% 时,指标波动约 B%,方案排序未变。”
  • “算法在 R 次独立重复中有 S 次收敛到同一结构解,说明结论对初始化不敏感。”
  • “与简化基线相比,本方法在验证集误差降低 Δ,但计算时间增加,权衡后仍采用。”

如果只有表格没有句子,评委很难判断你是否真正理解结果。

参数与数据的最小敏感性​

即使篇幅有限,也建议给出一个小表:选取 1–3 个最关键参数,各取偏低/基准/偏高三档,报告输出变化。这比大段空泛的“模型具有较强鲁棒性”更有说服力。

可复现信息​

在附录或正文脚注中记录:软件版本、随机种子、关键容差、数据截取时间范围。另一人按文档应能得到同量级结果。

审稿式自问​

  1. 方法假设在题目数据上是否可检查?
  2. 若最敏感参数估计错误 20%,结论是否翻盘?
  3. 是否存在更简单方法达到相近效果?
  4. 图表是否都能用一句话概括?
  5. 局限是否写得具体,而不是套话?

把上述自问的答案写进论文,方法章节会明显更“像完成了建模”,而不是“像完成了公式摘录”。

八、小结​

EPQ 在有限生产率下优化生产批量,公式为 EOQ 乘以 (1−D/P)−1/2(1-D/P)^{-1/2} 的扩展。当补货“慢慢到货”时,它比 EOQ 更贴切;P→∞P\to\infty 时二者合一。