供应链算法整理(二)--- 智能补货
供应链业务的目标价值是:优化货品的供给、销售提供支撑,以降低成本,提高时效、收益,最终提升用户体验。基于目标价值,整体的算法模块分为:智能选品、智能预测、品仓铺货、智能补货、智能调拨、仓网路由、快递分配、智能定价。因此整体物流供应链算法的目标是提升周转率,提升动销率,降低在架率。
本文重点讨论智能补货算法: 智能补货分为补货时间选择、补调决策、仓网路由决策。
一、物流供应链优化目标
1.1 业务目标
库存健康分为:库存周转率、库存动销率和库存呆滞率
库存周转率是反应库存周转快慢程度的一个指标 --- 某时间段的出库总金额(总数量)与该时间段库存平均金额(或数量)的比率,是指在一定期间内库存周转的速度。其中数量排除价格干扰,聚焦周转速度; 而金额统一货币单位,衡量整体资金效率。
1. 快速消费品行业:如食品、饮料、日化品等,存货周转率通常较高,正常范围可能在15-20次之间。
2.传统零售行业:如百货、超市等,存货周转率相对较低,正常范围一般在4-5次之间。
3.高端消费品行业:如奢侈品、高端电子产品等,存货周转率可能较低,正常范围一般在4次以下。
4.电子行业:由于产品生命周期较短且价格波动大,年库存周转率一般不能低于10次。
库存动销率,原是销售指标,指店铺有销售的商品品种数与本店经营商品总品种数的比率。因其能很好的反应库存结构变化,故经常与呆滞率、库存周转率一起用于衡量库存健康程度。
库存呆滞率是呆滞库存金额占总库存金额的比率。呆滞库存(E&O,excess & obsolete),是指长时间不用或者一直用不上的具有风险的库存。也就是说,库存呆滞率反馈的是,我们现有的库存里面,有多少是有风险的库存。
1.2 技术目标
一级技术指标
技术降低成本
二级技术指标
预估准确率、补货接受率
二、智能补货算法
智能补货有三个核心问题: 是否铺货、补货点 和 补货量。
补货时间
在补调货上可以分为: ① 传统模型:ss安全库存模型(确定性模型-> 不确定性模型,考虑大促和折扣) ② 运筹优化 ③ 强化学习
安全库存模型(ss)
(1)确定性模型:最初的补货模型在经济学中有一个确定性模型--“经济订货量”(EOQ)模型,该模型的主要假设是持货成本、启动费用及市场需求率都是固定值,在这个条件下就能求出最优解。
安全库存:
为防止需求波动或供应延迟导致的缺货而额外持有的库存缓冲。
其中:
-
zz:服务水平系数(如95%对应1.65)。
-
LT:平均提前期(Lead Time)。
-
σD:需求标准差。
-
μD:平均需求。
-
σLT:提前期标准差
若提前期固定,后面一项即为0,可以得到:
补货时间点
库存水平降至该点时触发补货订单,确保在补货到达前不脱销。
最优订货量
-
DD:年需求量。
-
SS:单次订货成本。
-
HH:单位库存年持有成本(如商品价值的20%)。
(2)不确定性模型:然而在实际应用场景中很多都是不确定的,所以有了不确定性模型--“安全库存(Safety Stock)”模型。首先比较直观的是需求的不确定性,即未来销售需求量;其次是提前期的不确定性,即供应商送货时长会存在一定的波动。对应的优化解法是加入销量预测、加权 VLT 统计预测等。右上角图片比较直观的展示了补货考虑的缓冲库存(buffer stock):横轴展示了送货时长,可能需要 3 天或者 10 天,这是 VLT 的波动性;纵轴则展示了需求的波动性,有可能卖 100 件,也有可能卖 150 件。安全库存即是基于这两点进行了考虑。
(3)ss 模型:该模型是基于安全库存、销量预测、供应商送货时长、服务水平构建的补货模型框架。右下角图中展示了模型相应的公式,其中需求以 d 表示,提前期以 L 表示,ss 的基础构建方式如图。在 ss 假设的前提下,即可计算补货点。其中补货点加上提前送货期、销量预测,即可得到补货点的基础值。补货点的意义在于满足整体的需求需要有一个预警,当库存低于这个点时,未来销售有可能击穿库存而造成缺货。在确定了补货点以后,可以根据相关假设或先验信息计算最优的订货量。同时智能补货也需要考虑 在途的补货商品,且可以结合商品周转率对周转率低的商品不进行补货。
智能补货 RL 模型
强化学习主要有状态、动作、回报三个基本要素。在供应链场景下,因为业务本身就是这样的串行过程,故可以较好的进行迁移,如状态可以用商品库存、在途、价格等进行相关表示;动作就是依据当前商品状态做的补货决策;回报就是一个决策周期内的整体优化目标指标的综合评判。
下面将介绍整体网络的相关优化:模型整体使用了 Actor-Critic 网络结构,训练和 DDPG 差不多,通过 Train-Target 网络进行迭代更新,进而学习到库存针对环境的补货点和补货量判定。在建模的过程中还有很多 trick,其中需要注意以下两点:
(1)贝尔曼方程:在考虑贝尔曼方程(Bellman Equation)时,对未来的不确定性应该放低。因为整体 Reward 是在仿真环境中进行的,与实际线上情况是有一定出入的,需要更加关注即时奖励。
(2)Reward 函数的修正:Reward 是决策对指标的评估函数,这里进行了一些相关的尝试:尝试了一些离散函数后发现效果不是很好,并不能很好的学习到结果,故设置为连续非线性函数。针对指标也进行了相关的优化,如希望对缺货的反应更加灵敏、更关注缺货,同时希望周转不应该特别低、应该保持在健康水位。周转并不是越低越好,周转过低可能会造成一定的缺货。综合以上这些调整我们可以调整得到最终的 Reward 函数。
右图展示了 actor 网络的构造,主要介绍两个优化点:
(1)双塔网络结构:使用了双塔辅助模型,需要注意的是,输出本身存在着相辅和依赖的决策关系,如果不建立依赖关系可能会输出一些离谱的结果。
(2)embedding 层:需要考虑更多的因素,如商品属性、历史信息、采购相关等。
在整个模型构建完成后,进行了一些仿真和线上验证测试。在仿真系统中,周转结果会高 1 天左右,缺货能降低 1 pt,整体来说能达到目标;在线上验证中,最终周转持平,缺货能降低 2 pt,是一个比较好的效果。
智能补货仿真系统
首先简单概述一下库存仿真逻辑。不论是预测还是补货调拨都需要一个有效的评判,库存仿真就是对整体供应链系统进行模拟评判的一个比较重要的过程。简单的逻辑抽取如下:
(1)流程:串行整个补货的流程;
(2)环境:模拟市场、供应商行为;
(3)代理:执行决策部分,用于模拟采控行为。
整个仿真过程实际就是基于历史数据使用不同策略进行迭代回溯的过程,这个过程中需要考虑很多不确定性,包括销量、供应商送货等的不确定性,如销量可能会有一定波动,供应商发货可能延迟,下单后供应商是否能接货送货等。在确定这些随机项后,会对不同的策略进行历史回溯,来对比相关策略。
右边左图中显示了不同策略模型在同一系统中的表现,三个策略对不同指标的表现可能不一样,会根据实际场景的需要对策略进行评估选择;右图则展示了同一策略在不同参数下的评估,哪个参数最终对模型的影响较大,也能达到较好的验证。最终会对仿真系统的可用性和一致性进行评价,就能得到整个仿真系统对于补货实际应用的保证。
补货和仿真系统的建设,由问题出发、建模、仿真评估的一系列过程形成了一个很好的闭环。
三、智能调拨算法
问题的背景:仓库分布在不同的省份,每个仓会负责不同区域的发货,如果仓发货给本区域的顾客,那么送货时效是能得到保证的,不论是当日达还是次日达都能得到保证。但如果库存经营不善,有仓库发生缺货,该仓覆盖区域的顾客下单时,就不能从此仓库进行发货,由此会产生跨区配送,虽然跨区配送会使用较近仓,但距离实际还是较远的,整体来说当日达、次日达就无法得到保证,用户的整体体验就会下降,整体的次日达指标也无法完成。故在检测到仓库快缺货,采购也无法及时到达时,需要进行相关的调拨,能在它将缺货时到达,这样整体的次日达就能得到保证。
除此之外,调拨还能解决很多其他问题:
(1)可以解决仓间平衡问题。如有些仓库存较高,有些仓库存较低,这时就可以通过调拨进行仓间平衡;
(2)可以提升次日达率、降低拆单率(某品在某仓没有,在另外仓有,就会产生拆单跨区配送);
(3)提高时效性,提升用户满意度。
在了解调拨问题后,通过整体目标来抽出关键指标进行建模。在调拨计划的实际场景中,主要关注以下指标:
(1)最大化次日达;
(2)最小化仓间调拨成本;
(3)最大化降低缺货天数/最小化缺货率。
由此可见,调拨问题是一个带约束的多目标规划问题。为了更好求解,需要对指标进行量化:
(1)成本:可以通过仓间费用进行衡量;
(2)次日达:可以通过统计分析,次日达预估;
(3)预计缺货:可以通过日销、库存、调拨周期,构建预估函数进行表达。
此外还需要关注一些相关约束条件:
(1)调拨量不应该超出可调拨上限。调出仓本身货量不够,就无法完成调拨。
(2)应该满足收货仓的需求量,但不应显著高于该需求量。如实际需要 100 件,不应该调拨 200 件,满足即可。
(3)每个仓应该满足最小起订量。如求解后得到 A 仓往 B 仓仅调拨了 2 件,运输成本较高,达不到整体最小的起订约束。
(4)应该满足箱规约束,不配送散件。即一般调货按照整箱调拨,如一箱一般为 10 件,如果需要调拨 12 件,就需要规到 10 件的约束中。
关于决策变量总结如下:
(1)需要决策每个品仓应该如何进行调拨,即调拨量矩阵;
(2)还需要决策某仓是否能够进行调拨的矩阵。
(3)有了问题、约束、求解变量后,就能对问题进行公式化。
四、补调一体化算法
前面的方案是对补货和调货分别进行设计,实际上因为供应链多级仓库设计,某个仓库缺货未必需要从供应商补货,而是可能可以从上级或同级仓库进行补货。因此我们可以设计补调货一体化算法。
盒马供应链算法实战
【罗戈网】衡量库存健康有哪三个库存控制指标?衡量库存健康有哪三个库存控制指标?
阿里健康供应链智能补货算法
库存管理十大指标有哪些 | 零代码企业数字化知识站