跳到正文
格致开物MATHWIKI

经济订货量模型

经济订货量模型(economic order quantity,EOQ)研究在稳定需求下每次应订多少货,使长期平均的订货与库存持有成本之和最小。小批量意味着频繁订货,大批量意味着更多货物等待使用;模型把这两项相反的影响写成同一个成本函数。

它不是预测需求的方法。需求速度、订货费用和持有费用都是模型的输入;若这些输入与补货假设不合实际,就需要修改模型。

为什么不能只比较每次订货的费用

设一个维修库房每年均匀使用12000件标准零件,每下一张订单,无论订多少件,都发生75元固定处理费用。每件零件每存放一年,需要6元持有费用。所有数值均为合成教学数据;一年按300个工作日计算,故每天均匀使用40件。

若每次订100件,一年平均要下120次订单,仅订货处理费就是9000元;若每次订1000件,一年平均只下12次订单,处理费降至900元。但后一种方案会让更多零件长时间占用仓储与资金。要比较两种方案,必须同时计算库存的时间平均值。

基本EOQ模型作如下约定:需求速度确定且恒定;每次订货批量相同且全部瞬时到货;不允许缺货;订货固定费用不随批量改变;单位持有费恒定;没有批量价格折扣,单价也不随时间变化。它研究重复补货形成的长期平均成本,暂不计期末清仓、一次性项目的剩余库存等效应。MIT库存课程讲义由这组假设建立基本模型,并分别讨论有限生产速度和数量折扣等扩展。

一个补货周期中的库存面积

记需求率为 D(件/年),单次订货量为 Q>0(件)。刚到货时库存为 Q,随后以速度 D 匀速减少。直到下一批到货前,库存降为零,一个周期长度为 T=QD. 在周期内部 0t<T,库存为 I(t)=QDt。周期平均库存不是图上随便选一个高度,而是时间积分除以周期: I¯=1T0T(QDt)dt=1T(QTDT22)=QDT2=Q2. 最后一步用了 DT=Q

以每次六百件为示例,库存每十五个工作日从六百匀速降到零,然后瞬时补回六百,平均库存为三百
一个周期的库存时间积分是底为15日、高为600件的三角形面积。虚线300表示时间平均库存,不表示每一天都存有300件。

图用 Q=600 演示库存形状。每天40件,十五个工作日正好用完;平均库存为300件。图中的竖线是理想化的瞬时补货,不能解释成持续了一段时间的生产过程。

把各项费用统一到每年

设每次固定订货费为 K(元/次),单位持有费为 h(元/(件·年))。长期平均每年订货次数是 D/Q,因此 年订货费用=KDQ,年持有费用=hQ2. 这里 D/Q 可以不是整数,它表示长期平均频率。若只安排一个孤立年度、严格限制订单整数次数并考虑年底余货,就已是另一个有限期问题。

与批量有关的年成本为 C(Q)=KDQ+hQ2,Q>0. 本例为 C(Q)=900000/Q+3Q,单位是元/年。固定单价为 c 元/件时,另有采购成本 cD;它不随 Q 改变,可以在比较批量时暂时省略,但核算全部支出时要加回去。

订货成本随批量按反比例下降,持有成本线性上升,两者之和在约五百四十八件处最小
两项费用相等的批量,恰好使本模型的总相关成本最小;交点与总成本最低点的横坐标相同,高度不同。

读图时,先分别看下降的订货费用和上升的持有费用,再看它们在同一个横坐标相加后的总成本。最低点既不是订货费用最低的地方,也不是库存最少的地方。

推导最优批量,并证明是全局最小

假定 D,K,h>0,对正批量求导: C(Q)=KDQ2+h2. 令导数为零,逐步整理为 KDQ2=h2,Q2=2KDh,Q=2KDh. 平方根取正支,因为订货量必须为正。对于 Q<Q,导数为负,增加批量会降低成本;对于 Q>Q,导数为正,继续增加批量会提高成本。并且 C(Q)=2KDQ3>0. 所以成本在正半轴严格凸,只有一个驻点;加上两端 Q0+Q 时成本都趋于无穷,这个点就是唯一全局最小值。

也可以直接给出不依赖微分的证据。两项成本都为正,故 KDQ+hQ22KDQhQ2=2KDh. 这是算术平均数不小于几何平均数;它可以由 (ab)20 得到。等号恰在 KD/Q=hQ/2 时成立,解出的也是 Q。此时年订货费与年持有费相等,各占最小相关成本的一半。

单位也能核对公式:KD/h 的单位为件的平方,开方后是件。如果把每天需求与每年持有费用直接混用,根号下的时间单位不会正确抵消。

库房案例的完整结果

代入本例参数: Q=2×75×120006=10030547.7226 . 平均库存约273.8613件,年订货次数约 12000/547.7226=21.9089 次。最优周期为 T=547.722612000 13.6931 工作日. 这里最后一步按每年300个工作日换算。最小相关成本为 C(Q)=2×75×12000×63286.3353 元/年. 订货费与持有费各约1643.1677元/年。

若零件只能按整数件订货,连续最优值两侧的547件与548件需要比较。由于 CQ 左边严格下降、右边严格上升,其他整数不可能比这两个更好: C(547)3286.3382,C(548)3286.3358. 所以整数批量选548件。若供应商规定每箱50件、只能整箱下单,则比较500与550:成本分别为3300和约3286.3636元/年,应选550件。这里“比较相邻候选”有单调性作为依据,不能把任意离散优化都当作四舍五入。

最优点附近,批量偏差的代价

设实际订货量为 Q=kQ,其中 k>0。在最优点两项成本相等,记各项为 A,则新订货费为 A/k,持有费为 Ak。因此 C(kQ)C(Q)=12(k+1k), C(kQ)C(Q)C(Q)=(k1)22k. 批量增加20%时,相关成本只增加约1.667%;批量减少20%时,增加2.5%。两侧不完全对称。这个相对误差是订货加持有成本的误差,并不是加上采购常数 cD 后全部支出的同一百分比。

成本比随订货量比k变化,k等于一时取一,零点八处为一点零二五,一点二处约一点零一六七
最优点附近的成本曲线较平缓,所以可以把箱规等实际条件与小幅成本损失一起比较。

平方根关系也给出参数敏感性:需求增加为原来的四倍,最优批量增加为两倍;持有费增加为四倍,最优批量减半。这是在其他参数与模型假设不变时的比较,不是所有真实库房都会遵循的经验定律。

何时下单,与每次订多少是两个问题

若供应商从下单到全部到货需要固定提前期 L 年,在确定需求下,提前期内需要 DL 件。可以在库存位置降至 R=DL 时订货。库存位置指现有库存加在途订单,再减去未满足的需求;基本无缺货模型的最后一项为零。

本例固定提前期为五个工作日,提前期需求为 40×5=200 件。采用548件批量时,一个周期为13.7个工作日,提前期短于周期;现货降到200件便下单,五日后恰好用完旧货,新批次同时到达。若提前期长于一个周期,可能有多张在途订单,不能只看现货库存来重复触发下单,必须使用库存位置。

提前期固定且需求确定时,它改变下单时刻,却不改变上面的基本最优批量公式。若需求或提前期随机,200件就不能保证不缺货,需要明确服务水平、缺货成本与安全库存策略。

哪些变化需要重建成本函数

若仓库最多能存400件,则有额外约束 Q400。本例成本在400附近仍随批量增大而下降,所以受限最优批量为400件,相关成本3450元/年;不能继续选择548件再声称仓储约束已经处理。

若一次生产不是瞬时到货,而是以速度 P>D 边生产边使用,生产一批 Q 件要用 Q/P 年;这段时间同时消耗 DQ/P 件,最大库存仅为 Q(1D/P)。在相应的经济生产批量模型中,平均库存变为其一半,原EOQ中的持有项便须改变。

数量折扣会使采购项随批量改变,不能再删掉 cD。应在每个价格区间计算相应的持有费和最优候选,再与折扣起点比较总成本。缺货、易腐、季节需求或多产品共用容量也会改变状态与约束。先画出库存怎样随时间变化,再决定持有成本怎样积分,通常比直接套一个平方根公式更可靠。

来源与相关知识

Ford W. Harris在1913年的《How Many Parts to Make at Once》中分析了批量与费用的权衡。原文于1990年在《Operations Research》重刊,出版记录明确给出1913年的刊名与页码,见原文重刊页面