获取终端员工管理:Amazon Forecast和AWS Step Functions
美容和时尚专家为您解读:获取终端员工管理的秘诀:Amazon Forecast和AWS Step Functions
这是一篇由Nafi Ahmet Turgut,Mehmet İkbal Özmen,Hasan Burak Yel,Fatma Nur Dumlupınar Keşir,Mutlu Polatcan和Emre Uzel共同撰写的客座文章来自Getir。
Getir是超快速送货的先锋。这家科技公司通过其几分钟内送货的特色,彻底改变了最后一英里的传送方式。Getir成立于2015年,业务遍布土耳其、英国、荷兰、德国和美国。如今,Getir是一个综合性企业,在同一个品牌下包含了九个垂直领域。
在本文中,我们将描述全面的从特定位置需求预测开始的工作人员管理系统,紧随其后的是使用Amazon Forecast和AWS Step Functions进行快递工人计划和班次分配。
过去,运营团队采用手动的工作人员管理方法,导致时间和精力的浪费。然而,通过我们全面的端到端工作人员管理项目的实施,他们现在可以通过一个简化的一键流程通过网络界面高效生成所需的仓库快递计划。在启动此项目之前,业务团队依赖更直观的需求预测方法,需要在精度上进行改进。
- 好运:《前夜》在GeForce NOW上领导17款游戏
- DARPA资助的研究取得了量子计算突破 (DARPA zīzhù de yánjiū qǔdéle liàngzǐ jìsuàn túpò)
- 多模态人工智能连接数字点
Amazon Forecast是一个完全托管的服务,利用机器学习算法提供高度准确的时间序列预测。在本文中,我们将描述如何通过使用Amazon Forecast进行特征工程和建模,将建模时间缩短了70%。我们通过AWS Step Functions运行所有仓库的调度算法时,经过了90%的时间减少,这是一个完全托管的服务,通过可视化工作流程更容易协调分布式应用和微服务的组件。这个解决方案还在土耳其和几个欧洲国家的预测准确性方面取得了90%的改进。
解决方案概述
端到端工作人员管理项目(E2E项目)是一个大规模的项目,可以用三个主题来描述:
1. 计算快递员需求
第一步是估计每个仓库的每小时需求,如算法选择部分所述。这些预测使用Amazon Forecast产生,有助于确定每个仓库何时以及需要多少位快递员。
基于仓库中快递员的吞吐比率,计算每个仓库在每小时间隔内所需的快递员人数。这些计算协助确定可行的快递员数量,考虑到法定工作时间,其中涉及数学建模。
2. 解决班次分配问题
一旦我们知道快递员需求以及快递员和仓库的其他限制条件,我们就可以解决班次分配问题。该问题以决策变量来建模,确定被分配的快递员和创建班次表,以最小化可能导致漏单的过剩和不足。这通常是一个混合整数规划(MIP)问题。
3. 利用AWS Step Functions
我们使用AWS Step Functions来协调和管理工作流程,其能够并行执行作业。每个仓库的班次分配过程被定义为一个单独的工作流程。AWS Step Functions通过简化错误处理来自动启动和监控这些工作流程。
由于此过程需要大量的数据和复杂的计算,像AWS Step Functions这样的服务在组织和优化任务方面提供了显著的优势。它可以提供更好的控制和高效的资源管理。
在解决方案架构中,我们还利用了其他AWS服务,将它们集成到AWS Step Functions中:
- AWS Batch:用于批处理处理
- Amazon DynamoDB:用于存储仓库信息
- AWS Lambda:用于从Amazon Redshift获取数据并将失败通知到Slack频道
- Amazon CloudWatch:用于调度cron并触发工作流程
以下图表显示了AWS Step Functions的工作流程和换挡工具的架构:
图1 AWS Step Functions的工作流程
图2 换挡工具的架构
算法选择
预测区域需求是E2E项目的初始阶段。E2E的总体目标是确定分配给特定仓库的快递员数量,从对该仓库需求的预测开始。
这个预测组件在E2E框架中至关重要,后续阶段依赖于这些预测结果。因此,任何预测不准确都会对整个项目的有效性产生不利影响。
区域需求预测阶段的目标是在未来两周内针对每个仓库在国家级别上生成预测。最初,通过机器学习模型制定了每个国家的每日预测。然后,这些每日预测被进一步细分为小时段,如下图所示。历史交易需求数据、基于位置的天气信息、节假日日期、促销和营销活动数据是模型中使用的特征,如下图所示。
图3 区域特定预测的架构
团队最初探索了传统的预测技术,如开源的SARIMA(季节性自回归移动平均)、ARIMAX(利用外生变量的自回归移动平均)和指数平滑法。
ARIMA(自回归滑动平均)是一种时间序列预测方法,它将自回归(AR)和滑动平均(MA)组件与差分相结合,使时间序列稳定。
SARIMA扩展了ARIMA,通过引入额外的参数来考虑时间序列的季节性。它包括季节性自回归和季节性移动平均项,以捕获特定间隔内的重复模式,使其适用于具有季节性组成的时间序列。
ARIMAX在ARIMA的基础上引入外生变量,外生变量是可以影响时间序列的外部因素。模型考虑这些附加变量以提高预测精度,超出了时间序列的历史值。
指数平滑法是另一种基于加权平均的时间序列预测方法,与ARIMA不同,它基于过去观测值的加权平均。它特别适用于捕捉数据中的趋势和季节性。该方法对过去观测值分配指数递减的权重,较新的观测值获得较高的权重。
最终选择了Amazon Forecast模型进行算法建模。AWS Forecast提供的各种模型和复杂的特征工程能力使其更具优势,优化了资源利用。
在Forecast中测试了六种算法:卷积神经网络-分位数回归(CNN-QR)、DeepAR+、Prophet、非参数时间序列(NPTS)、自回归滑动平均(ARIMA)和指数平滑法(ETS)。通过分析预测结果,我们确定CNN-QR在有效性上超过其他算法。CNN-QR是亚马逊为使用因果卷积神经网络(CNN)预测标量(一维)时间序列开发的专有机器学习算法。鉴于此时此刻多样化数据源的可用性,使用CNN-QR算法便于将各种特征集成在一个监督学习框架中。这种区别使其区别于单变量时间序列预测模型,并显著提高了性能。
利用Forecast证明是有效的,因为它可以简单地提供所需的数据和指定预测的持续时间。随后,Forecast采用了CNN-QR算法来生成预测。这个工具显著加快了我们团队的流程,尤其是在算法建模方面。此外,利用Amazon Simple Storage Service(Amazon S3)存储桶用于输入数据存储库,以及利用Amazon Redshift存储结果,有助于实现整个过程的集中化管理。
结论
在这篇文章中,我们展示了Getir的端到端项目如何有效地整合Amazon Forecast和AWS Step Functions服务来简化复杂的流程。我们在欧洲和土耳其的多个国家实现了约90%的令人印象深刻的预测准确率,使用Forecast由于其高效处理特征工程和建模,将建模时间减少了70%。
使用AWS Step Functions服务带来了实际的优势,尤其是将所有仓库的调度时间减少了90%。此外,通过考虑现场要求,我们将符合率提高了3%,有助于更有效地分配劳动力。这反过来突显了该项目在优化运营和服务交付方面的成功。
若要获得有关开始使用Forecast的更多详细信息,请参考可用的Amazon Forecast资源。此外,若要了解构建自动化工作流程和机器学习流水线的见解,您可以探索AWS Step Functions以获取全面的指导。