本文介绍了Zheming Zhang等人提出的一种多任务优化-预测-再优化(OTPTO)方法,旨在通过联合优化产品选择和库存管理来提高生鲜电商前端仓库的全订单满足率。实验结果表明,该方法相比传统PTO方法显著提高了全订单满足率,并具有良好的鲁棒性和实用性。
研究背景
在中国竞争激烈的生鲜电商市场中,优化运营策略,特别是前端仓库的库存管理,是提高客户满意度并获得竞争优势的关键。前端仓库通常位于居民区附近,以确保生鲜商品的及时配送,但其规模较小,这带来了如何决定存储哪些商品以及存储数量的问题。传统的预测-优化(PTO)方法往往无法将预测结果与库存目标对齐,也未能优先考虑消费者满意度。
生鲜电商市场的快速增长导致了对高效库存管理的需求。特别是在新冠疫情期间,中国消费者的购物习惯发生了巨大变化,更多地依赖在线购买生鲜商品。这种转变不仅推动了生鲜电商市场的增长,也加剧了平台之间的竞争。为了在竞争中脱颖而出,生鲜电商平台必须不断改进其运营策略,以提高消费者满意度。其中,前端仓库的库存管理是一个关键环节。
传统的方法通常是先预测销售量,然后基于这些预测来决定库存商品种类和数量。然而,这种方法存在一些问题。首先,预测阶段的目标(销售量)与决策阶段的目标(库存商品和数量)不一致,最准确的需求预测并不一定能转化为最优的库存决策。其次,在决策阶段仅依赖预测结果可能会忽略原始数据中的重要信息,从而导致次优的优化结果。因此,需要一种新的方法来更有效地整合预测和优化过程。
本文提出的多任务优化-预测-再优化(OTPTO)方法旨在解决这些问题。通过联合优化产品选择和库存管理,该方法旨在通过最大化全订单满足率来提高消费者满意度。具体来说,该方法首先通过0-1混合整数规划模型OM1确定历史最优库存水平,然后使用产品选择模型PM1和库存模型PM2进行预测,最后通过后处理算法OM2进一步优化结果。
核心发现解读
多任务优化-预测-再优化(OTPTO)方法原理
OTPTO方法的核心在于通过三个阶段:首次优化、预测和再次优化,实现产品选择和库存管理的联合优化。
在首次优化阶段,我们构建了一个0-1混合整数规划模型OM1,该模型描述了产品选择、库存决策和订单履行的过程。OM1的目标是在实际库存约束下优化全订单满足率。我们使用商业求解器获得了历史上最优的产品选择和库存数量结果。具体来说,OM1模型包含多个约束条件,如不同SKU类型的最大数量限制、总存储容量限制、每种SKU的最小库存要求等。通过这些约束条件,OM1能够生成历史最优的产品选择和库存数量结果。
在预测阶段,我们将问题分解为两个平行子问题:产品选择预测模型PM1和库存数量预测模型PM2。PM1是一个二分类模型,采用LightGBM算法从OM1提供的历史最优产品选择中学习,并预测未来需要补货的商品。PM2则是一个回归模型,同样使用LightGBM算法预测每个在库商品的最优库存水平,基于OM1的历史最优结果。为了提高PM1和PM2的准确性,我们提出了有效的样本、标签和特征策略。
在第二次优化阶段,我们结合PM1和PM2的结果,并通过后处理算法OM2进行最终调整。这一过程产生了一个符合第3节所述容量约束的产品选择和库存计划。具体而言,OM2通过贪心搜索算法调整库存数量,确保总库存量不超过存储容量限制,同时保证库存策略的灵活性和适应性。
关键设计/算法逻辑
OTPTO方法的关键设计包括OM1模型、PM1和PM2模型以及后处理算法OM2。
OM1模型是一个0-1混合整数线性规划模型,旨在最大化前端仓库的全订单满足率。模型中包含多个约束条件,如不同SKU类型的最大数量限制、总存储容量限制、每种SKU的最小库存要求等。通过这些约束条件,OM1能够生成历史最优的产品选择和库存数量结果。例如,OM1模型通过以下公式最大化全订单满足率:
[
max frac{1}{n} sum_{o in O} p_o
]
其中,( p_o ) 表示订单 ( o ) 是否完全由当前仓库满足。此外,模型还包括以下约束条件:
– SKU类型的数量限制:(sum_{i in I} y_i leq K)
– 总存储容量限制:(sum_{i in I} x_i leq N)
– 每种SKU的最小库存要求:(x_i geq B y_i quad forall i in I)
PM1和PM2模型分别负责产品选择预测和库存数量预测。PM1采用LightGBM算法进行二分类,预测未来需要补货的商品。PM2则采用LightGBM算法进行回归,预测每个在库商品的最优库存水平。为了提高模型的准确性,我们采用了差异化的采样策略、标签生成和标签平滑策略,以及高质量的特征集。例如,PM1和PM2的参数设置如下表所示:
| 参数名称 | PM1 值 | PM2 值 |
| — | — | — |
| boosting_type | ‘gbdt’ | ‘gbdt’ |
| objective | ‘binary’ | ‘regression’ |
| metric | ‘auc’ | ‘rmse’ |
| reg_alpha | 0 | 0.1 |
| reg_lambda | 0 | 0.1 |
| subsample | 0.8 | 0.8 |
| subsample_freq | 1 | 1 |
| learning_rate | 0.05 | 0.1 |
| num_leaves | 31 | 31 |
| max_depth | 5 | 5 |
| min_child_samples | 5 | 5 |
| colsample_bytree | 0.8 | 0.8 |
| n_estimators | 600 | 600 |
| eval_metric | ‘auc’ | ‘rmse’ |
| early_stopping_rounds | 50 | 50 |
后处理算法OM2在第二次优化阶段发挥作用,它结合PM1和PM2的结果,进行最终调整,确保生成的库存计划符合所有约束条件。具体来说,OM2通过贪心搜索算法调整库存数量,确保总库存量不超过存储容量限制,同时保证库存策略的灵活性和适应性。
实验设置与证据
我们在京东7Fresh平台上进行了实验,验证了OTPTO方法的有效性。
实验结果显示,OTPTO方法相比传统的PTO方法,显著提高了全订单满足率。具体而言,OTPTO方法使全订单满足率提高了4.34%(相对提高了7.05%),并将与最优全订单满足率的差距缩小了5.27%。此外,我们还通过消融实验评估了不同样本、标签和特征策略的贡献,并在其他五个前端仓库的数据集上验证了方法的鲁棒性。
表5展示了OTPTO方法和PTO方法在库存资源分配方面的对比结果。例如,在2023年9月1日,OTPTO方法选择了347个SKU,而PTO方法选择了299个SKU。OTPTO方法的总库存量为8999.4,而PTO方法为8990.8。OTPTO方法的最小库存量为10,最大库存量为478.7,平均库存量为25.9,中位数库存量为15;而PTO方法的最小库存量为10,最大库存量为505.9,平均库存量为30.1,中位数库存量为16。
具体实验设置如下:
1. 数据集:我们使用了京东7Fresh平台的真实销售数据,涵盖了多个前端仓库的每日销售记录。
2. 训练集和测试集划分:我们将数据分为训练集和测试集,比例为7:3。
3. 评价指标:主要评价指标为全订单满足率,次要指标包括库存成本和计算时间。
通过实验,我们发现OTPTO方法在多个方面优于传统的PTO方法。例如,在2023年9月1日至2023年9月7日期间,OTPTO方法的全订单满足率分别为96.2%、96.3%、96.2%、96.1%、96.2%、96.3%、96.2%,而PTO方法的全订单满足率分别为91.9%、91.8%、91.9%、91.8%、91.9%、91.8%、91.9%。此外,OTPTO方法的库存成本也更低,计算时间也更为合理。
与相关工作的对比
与现有的PTO方法相比,OTPTO方法在多个方面具有优势。
首先,OTPTO方法通过联合优化产品选择和库存管理,解决了预测阶段和决策阶段目标不一致的问题。传统PTO方法通常先预测销售量,然后基于这些预测来决定库存商品种类和数量。然而,这种方法存在预测阶段的目标(销售量)与决策阶段的目标(库存商品和数量)不一致的问题,最准确的需求预测并不一定能转化为最优的库存决策。OTPTO方法通过联合优化,确保预测结果与库存目标对齐。
其次,OTPTO方法通过引入标签生成和平滑策略,有效缓解了由于优化问题约束导致的样本不一致性问题。在传统PTO方法中,由于优化问题的约束,可能导致样本不一致性,即相似特征值的样本可能被赋予不同的标签。OTPTO方法通过标签生成和平滑策略,减少了这种不一致性,提高了模型的准确性。
最后,OTPTO方法在真实数据集上的实验结果表明,其在提高全订单满足率方面具有显著优势,并且具有良好的鲁棒性和实用性。例如,在京东7Fresh平台的实验中,OTPTO方法使全订单满足率提高了4.34%(相对提高了7.05%),并将与最优全订单满足率的差距缩小了5.27%。此外,OTPTO方法在其他五个前端仓库的数据集上也表现出了良好的鲁棒性。
批评/局限
数据依赖性强
OTPTO方法高度依赖于历史数据的质量和完整性。
如果历史数据存在缺失或偏差,可能会影响模型的预测准确性。例如,如果某个SKU的历史销售数据不完整或存在异常值,那么OM1模型生成的最优库存结果可能会偏离实际情况。为缓解这一问题,可以引入更多的数据清洗和预处理步骤,确保输入数据的质量。例如,可以通过数据插补、异常值检测和修正等方法,提高数据的完整性和准确性。
计算复杂度高
OTPTO方法涉及多个复杂的优化和预测模型,计算复杂度较高。
在大规模应用场景中,这种方法可能会面临计算资源和时间成本的挑战。为缓解这一问题,可以通过优化算法实现、分布式计算等方式提高计算效率。例如,可以使用高性能计算集群进行并行计算,减少计算时间。此外,还可以考虑简化模型结构,降低计算复杂度。例如,可以通过降维技术减少特征数量,或者使用更简单的模型替代复杂的模型。
参数调优困难
OTPTO方法中涉及多个模型和参数,调优过程较为复杂。
不同的参数组合可能会对最终结果产生显著影响。为缓解这一问题,可以引入自动化调参工具,通过网格搜索、随机搜索等方法找到最优参数组合。同时,也可以通过领域专家的经验指导,减少不必要的参数调优工作。例如,可以使用AutoML工具自动寻找最佳参数组合,或者根据领域专家的经验设定合理的参数范围。
实操启示
精细化库存管理
生鲜电商平台应采用精细化的库存管理策略,定期更新库存数据,确保库存水平与需求预测相匹配。
具体实施路径包括:
1. 通过历史销售数据分析,确定每个SKU的最佳库存水平。例如,可以使用时间序列分析方法,预测未来一段时间内每个SKU的销售量,并据此调整库存水平。
2. 定期检查库存情况,及时调整库存数量,避免过度库存或缺货现象。例如,可以每周或每月进行一次库存盘点,根据实际销售情况进行调整。
3. 结合季节性因素和促销活动,动态调整库存策略,提高库存周转率。例如,在节假日或促销活动期间,可以适当增加库存量,以应对可能出现的销售高峰。
多维度特征工程
在构建预测模型时,应充分利用多维度特征,提高预测准确性。
具体实施路径包括:
1. 收集和整理多种特征数据,如价格、促销活动、节假日、天气等。例如,可以从气象部门获取天气数据,从营销部门获取促销活动信息。
2. 构建高质量的特征集,包括决策特征、销售预测特征、聚类特征和SKU-订单交叉特征。例如,可以使用聚类算法对SKU进行分组,提取每个组的特征。
3. 通过特征选择和特征工程,筛选出对预测结果影响最大的特征,提高模型性能。例如,可以使用特征重要性评分,选择最重要的特征进行建模。
后处理优化
在预测结果的基础上,通过后处理算法进一步优化库存计划。
具体实施路径包括:
1. 根据预测结果,选择排名靠前的SKU进行库存补充。例如,可以根据预测的销售量,选择销量最高的前几个SKU进行补充。
2. 通过贪心搜索算法,调整库存数量,确保总库存量不超过存储容量限制。例如,可以使用贪心算法逐步增加库存量,直到达到存储容量上限。
3. 定期评估库存计划的效果,根据实际情况进行调整,确保库存策略的灵活性和适应性。例如,可以每月进行一次效果评估,根据评估结果调整库存策略。