2024 年第十四届 MathorCup 完整解题思路

news2024/11/25 18:52:52

C 题 物流网络分拣中心货量预测及人员排班

电商物流网络在订单履约中由多个环节组成,图 1 是一个简化的物流 网络示意图。其中,分拣中心作为网络的中间环节,需要将包裹按照不同 流向进行分拣并发往下一个场地,最终使包裹到达消费者手中。分拣中心 管理效率的提升,对整体网络的履约效率和运作成本起着十分重要的作用。

该物流网络包括 57 个分拣中心,每个分拣中心过去 4 月的每天货量 如附件 1 所示,过去 30 天的每小时货量如附件 2 所示。基于以上数据,请 完成以下问题:

问题 1 :建立货量预测模型,对 57 个分拣中心未来 30 天每天及每小 时的货量进行预测,将预测结果写入结果表 1 和表 2 中。

 1)首先先对 57 个分拣中心未来 30 天每天进行预测,分析步骤如下:

1. 数据预处理

数据清洗:检查缺失值、异常值,并进行适当处理。对数据进行标准化或归一化,以消除量纲影响。

特征工程:基于时间(例如星期、月份、季节)、历史货量等生成新的特征。例如,考虑节假日、工作日与周末的差异等。

2. 探索性数据分析

趋势分析:分析每个分拣中心的货量随时间的变化趋势。

周期性分析:检查数据是否存在日周期性和周周期性等。

相关性分析:分析不同分拣中心间的货量相关性。

3. 建立预测模型

模型选择:

时间序列模型:如 ARIMA、季节性 ARIMA(SARIMA)适用于每天的预测。

机器学习模型:随机森林、梯度提升机(GBM)等可以处理复杂的非线性模式,适用于小时和每天的预测。

深度学习模型:如 LSTM(长短时记忆网络),特别适用于序列数据的建模,可以同时用于日和小时预测。

特征与标签定义:对于每日预测,使用前几天的货量作为特征;对于小时预测,使用前几小时或前一天同一时间的数据作为特征。

模型训练与验证:使用历史数据进行模型训练

4. 模型评估与选择

评估指标:采用 MAE(平均绝对误差)、MSE(均方误差)等统计指标来评估模型性能。

模型对比:比较不同模型的预测精度,选择最佳模型进行部署。

(2)首先先对 57 个分拣中心未来 30 天每天的每小时进行预测,分析步骤如下:

一种简单的做法是直接基于附件2数据算每天每小时的平均货量分布,然后直接按比例分配每天的货量

另外一种方法是构建一个小时预测模型,输入是每天的货量,时间特征(如是否工作日等),输出是该小时的货量 

问题 2 :过去 90 天各分拣中心之间的各运输线路平均货量如附 3  示。若未来 30 天分拣中心之间的运输线路发生了变化,具体如附件 4 所示。

根据附件 1-4,请对 57 个分拣中心未来 30 天每天及每小时的货量进行预测, 并将预测结果写入结果表 3 和表 4 中。、

 附件 1:每个分拣中心过去 4 个月的每天货量

附件 2:每个分拣中心过去 30 天的每小时货量

附件 3 :过去 90 天各分拣中心之间的各运输线路平均货量

附件4  :未来 30 天分拣中心之间的运输线路发生的变化

对 57 个分拣中心未来 30 天每天货量进行预测

  1. 首先先对 57 个分拣中心未来 30 天每天进行预测,分析步骤如下:

使用历史运输线路数据:把附件1数据与附件3数据关联起来。这样就可以知道每天每个线路大约有多少货物通过(基于历史运输线路的平均货量来分配每天的货量)。

考虑未来的线路变更:因为未来30天内的运输线路会有所变化,所以我们根据这些变化更新了货量的分配。例如,如果某个分拣中心的线路在未来会增加,我们就预估这条线路未来每天会有更多的货量,减少同理,得到变化的货源比。

(2)首先先对 57 个分拣中心未来 30 天每天的每小时进行预测,分析步骤同上 

问题 3 :假设每个分拣中心有60 名正式工,在人员安排时将优先使用 正式工,若需额外人员将使用临时工。请基于问题 2 的预测结果建立模型, 给出未来 30 天每个分拣中心每个班次的出勤人数,并写入结果表 5 中。要 求在每天的货量处理完成的基础上,安排的人天数(例如 30  天每天出勤 200 名员工,则总人天数为 6000)尽可能少,且每天的实际小时人效尽量 均衡。

要解决这个问题,需要建立一个目标优化模型,以预测每个分拣中心在每个班次的最优人员配置。这个模型将基于预测的每小时货量来确定所需的工作人数,并尽量减少总的人天数,同时保持小时人效的平衡。下面是解题思路:

问题 4 :研究特定分拣中心的排班问题,这里不妨以 SC60 为例,假设  分拣中心 SC60 当前有 200 名正式工,请基于问题 2 的预测结果建立模型, 确定未来 30 天每名正式工及临时工的班次出勤计划,即给出未来 30 天每  天六个班次中,每名正式工将在哪些班次出勤,每个班次需要雇佣多少临  时工,并写入结果表 6  中。每名正式工的出勤率(出勤的天数除以总天数  30)不能高于 85% ,且连续出勤天数不能超过 7 天。要求在每天货量处理  完成的基础上,安排的人天数尽可能少,每天的实际小时人效尽量均衡,  且正式工出勤率尽量均衡。

:上面四个问题中,除了正常完成论文外,每个问题的输出结果表 请一起压缩为“结果.zip ”压缩包格式,并单独上传至竞赛平台。

完整的视频教程大家也可以看下b站视频

2024mathorcup妈妈杯C题保姆级思路及完整解题代码:物流网络分拣中心货量预测及人员排班_哔哩哔哩_bilibili

参考文献

[1]  庄晓天等,智能供应链:预测算法理论与实战[M],电子工业出版社,2023.9.

[2] Makridakis  S,  Spiliotis E, Assimakopoulos V.The M5 Accuracy competition: Results, findings and conclusions[J].International Journal of Forecasting, 2020,36(1):224-227.

[3] Makridakis S, Spiliotis E, Assimakopoulos V, et al.The M4 Competition: 100,000 time series    and      61     forecasting    methods[J].International     Journal     of     Forecasting, 2020,36(1):54-74.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S资源管理之计算资源管理

1.详解Requests和Limits参数 以CPU为例,下图显示了未设置Limits与设置了Requests和Limits的CPU使用率的区别 尽管Requests和Limits只能被设置到容器上,但是设置了Pod级别的Requests和Limits能大大提高管理Pod的便利性和灵活性,因此在Kubernet…

基于Java停车场管理系统设计与实现(源码+部署文档)

博主介绍: ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到 Java项目精品实…

Android Studio导入第三方so库和jar包——Android Studio

导入so库 方式一(libs文件夹) 将项目以【Project】的结构显示,将目标架构对应的so文件夹(如下图中 的arm64-v8a)复制粘贴到app文件下的lib文件夹中(如下图的步骤1 2 3) 在build.gradle&…

网络原理(应用层、传输层)

文章目录 一、应用层1.1 自定义协议1.2 通用协议XMLJSONprotobuf 1.3 DNS 域名解析系统 二、传输层2.1 UDP协议2.2 TCP协议协议端格式及解析可靠性机制确认应答超时重传连接管理(三次握手,四次挥手)流量控制拥塞控制 效率机制滑动窗口延迟应答…

基于java+springboot+vue实现的西安旅游系统(文末源码+Lw)23-265

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统西安旅游系统信息管理难度大,容错率低&#…

oracle创建整个数据库的只读账户

在源用户readonly 下创建只读用户 reader readonly 的表空间为AA 一、创建只读用户 create user reader identified by 密码 default tablespace AA; 二、授权 grant connect to reader ; 三、获取原账号readonly 的查询权限 select grant select on ||owner||.||object…

极狐GitLab对接OAuth2实现SSO

本文作者:极狐(GitLab) 高级解决方案架构师 武让 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 企…

代码+视频,R语言手动绘制连续线条的校准曲线(Calibration curve)(3)

校准曲线图表示的是预测值和实际值的差距,作为预测模型的重要部分,目前很多函数能绘制校准曲线。一般分为两种,一种是通过Hosmer-Lemeshow检验,把P值分为10等分,求出每等分的预测值和实际值的差距。 我们既往已经通过多…

淘宝1688京东店铺所有商品数据接口(item_search_shop接口系列,可测试)

淘宝、1688和京东都提供了API接口供开发者调用,以获取店铺和商品的详细数据。对于您提到的item_search_shop接口系列,这主要是用于获取店铺所有商品的数据。然而,具体的接口名称和功能可能会因平台而异,且可能随着平台的更新而有所…

IE浏览器清理缓存工具

有些项目可能因为浏览器缓存导致使用异常,比如登陆异常。这里提供清除浏览器痕迹的工具,以IE浏览器为例,痕迹的默认存放位置为: C:\Users\Ro\AppData\Local\Microsoft\Windows\Temporary Internet Files 新建bat或者cmd批处理文件…

关于光模块SFP-10G-SR、SFP-10G-LRM和SFP-10G-LR的对比分析

万兆光模块是万兆网络搭建领域中的重要组成部分,是传输万兆速率必要组件。随着网络速率和容量需求的增加,目前万兆光模块的应用量非常大。而在万兆光模块中,短距离光模块的出货量居首,本文将详细介绍3款短距离万兆光模块SFP-10G-S…

SpringBoot集成Skywalking链路追踪

安装skywaling 参考:Centos7搭建 SkyWalking 单机版-CSDN博客 下载Agents https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz 1. 在IDEA中使用skywalking agent 在VM options中填入如下信息 -javaagent后是…

三招轻松拯救:如何恢复删除的微信聊天记录?

“很急!!!之前的聊天记录没了,但对于我来说很重要。聊天记录最久的是一年前,苹果的,如果没有备份数据还能恢复吗?用什么方法?谢谢了。” 微信聊天记录承载着我们的日常交流和重要信…

C中自定义类型——结构体

一.前言 在C语言中,不仅有int、char、short、long等内置类型,C语言还有一种特殊的类型——自定义类型。该类型可以由使用者自己定义,可以解决一些复杂的个体。 二.结构体 2.1结构体的声明 我们在利用结构体的时候一般是用于描述一些有多种…

使用Nodejs + express连接数据库mongoose

文章目录 先创建一个js文档安装 MongoDB 驱动程序:引入 MongoDB 模块:设置数据库连接:新建一个表试试执行数据库操作:关闭数据库连接: 前面需要准备的内容可看前面的文章: Express框架搭建项目 node.js 简单…

Kivy 学习2

from kivy.app import App from kivy.uix.button import Button from kivy.uix.floatlayout import FloatLayout from kivy.graphics import Rectangle, Colorclass FloatLayoutApp(App):def build(self):def update_rect(layout, *args):设置背景尺寸,可忽略layout…

java实现TCP交互

服务器端 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.PriorityQueue; import java.util.Scanner;public class TCP_Serv…

2023年MathorCup数学建模D题航空安全风险分析和飞行技术评估问题解题全过程文档加程序

2023年第十三届MathorCup高校数学建模挑战赛 D题 航空安全风险分析和飞行技术评估问题 原题再现 飞行安全是民航运输业赖以生存和发展的基础。随着我国民航业的快速发展,针对飞行安全问题的研究显得越来越重要。2022 年 3 月 21 日,“3.21”空难的发生…

Python —— 简述

Houdini Python | 笔记合集 - 知乎 Houdini内置三大语言: 表达式,主要用于节点参数控制,可实现跨模块控制;vex,速度最快(比表达式和Python快一个数量级),非常适合密集型计算环境&…

uni-app实现分页--(2)分页加载,首页下拉触底加载更多

业务逻辑如下: api函数升级 定义分页参数类型 组件调用api传参