2024年第十四届MathorCup数学应用挑战赛C题解析(更新完结)

2024年第十四届MathorCup数学应用挑战赛C题解析

题目

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

电商物流网络在订单履约中由多个环节组成,图1是一个简化的物流
网络示意图。其中,分拣中心作为网络的中间环节,需要将包裹按照不同
流向进行分拣并发往下一个场地,最终使包裹到达消费者手中。分拣中心
管理效率的提升,对整体网络的履约效率和运作成本起着十分重要的作用。在这里插入图片描述
分拣中心的货量预测是电商物流网络重要的研究问题,对分拣中心货
量的精准预测是后续管理及决策的基础,如果管理者可以提前预知之后一
段时间各个分拣中心需要操作的货量,便可以提前对资源进行安排。在此
场景下的货量预测目标一般有两个:一是根据历史货量、物流网络配置等
信息,预测每个分拣中心每天的货量;二是根据历史货量小时数据,预测
每个分拣中心每小时的货量。
分拣中心的货量预测与网络的运输线路有关,通过分析各线路的运输
货量,可以得出各分拣中心之间的网络连接关系。当线路关系调整时,可
以参考线路的调整信息,得到各分拣中心货量更为准确的预测。
基于分拣中心货量预测的人员排班是接下来要解决的重要问题,分拣
中心的人员包含正式工和临时工两种:正式工是场地长期雇佣的人员,工
作效率较高;临时工是根据货量情况临时招募的人员,每天可以任意增减,
但工作效率相对较低、雇佣成本较高。根据货量预测结果合理安排人员,
旨在完成工作的情况下尽可能降低人员成本。针对当前物流网络,其人员
安排班次及小时人效指标情况如下:
1)对于所有分拣中心,每天分为6个班次,分别为: 00:00-08:00,
05:00-1 3:00,08:00- 16:00,12:00-20:00, 14:00-22:00, 16:00-24:00,
每个人员(正式工或临时工)每天只能出勤一个班次;
2)小时人效指标为每人每小时完成分拣的包裹量(包裹量即货量),正
式工的最高小时人效为25包裹/小时,临时工的最高小时人效为20
包裹/小时。
该物流网络包括57个分拣中心,每个分拣中心过去4个月的每天货量
如附件1所示,过去30天的每小时货量如附件2所示。基于以上数据,请
完成以下问题:

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

问题2:过去90天各分拣中心之间的各运输线路平均货量如附件3所
示。若未来30天分拣中心之间的运输线路发生了变化,具体如附件4所示。
根据附件1-4,请对57个分拣中心未来30天每天及每小时的货量进行预测,
并将预测结果写入结果表3和表4中。

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

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

题目解析

前言

数学建模主要是让大家构建自己的模型,只要能解决问题的模型就是好模型,无标准答案。我个人的分析过程大致如下文,仅个人观点不一定是正确的,不说太多怕限制了大家的思维哈哈哈

问题一

这一题相对来说已有的模型比较多,以二次指数平滑法为例,首先将附件的数据导入matlab,附件1为20230801-20231130的57个节点每天的数据,附件2为11月每小时每个节点的数据。数据导入后通过二次指数平滑公式
本期平滑值 = 本期一次平滑值 * 平滑系数 + (1 - 平滑系数) * 上期二次平滑值解出预测结果,具体代码及解析见这篇博客
在论文中要没每一步的公式都列出,同时也要自己创新一些模型算法,例如根据二次指数平滑的结果在此基础上再增加一个权值,该权值为对从第一天到最后一天数据进行最小二乘或其他方式拟合得到的线性曲线的斜率,以此能够增加模型的灵敏度。

问题二

对于该题,可以先将每个节点独立分析,每个节点的货量由两部分组成,其1是根据附件1与附件2进行线性拟合得到的未来预测数据,一部分是附件3给出的平均数据。由附件3数据得出下图可以看出每个节点的出入货的不一致的,我们认为这里的货量指的是需要处理的货出入都需要处理,所有之后的货量定义都=进货+出货。
在这里插入图片描述
先根据附件三算出每个节点的货量,在此基础上给附件1、2的数据及附件3的数据各赋一个权值求和得到原货量:若节点不变则未来可能的货量,这是在问题1的基础上进行的建模计算。
节点变化我们需要注意的是原先每个节点的进货和出货,可以通过附件三计算出每个节点原先的平均进货和出货量,线路变化后有两种方法:
1.假设每个节点的平均入货数量不变,只考虑出货
2.出入货都变动,变动的数据由上一节点与下一节点共同决定。
对与方法1相对来说比较容易建模,因为节点变化了只根据附件4下一节点的原先进货进行平均,新的出货量就是下一节点从每个节点的平均入货量(这里不一定要是平均,也可以根据原先的节点货量给每个节点赋个权值)。
对与方法2要考虑的地方就比较多,统一我们把所有的流程聚焦在一条 A出货—B入货线路中,对节点A考虑原先对其他节点的出货均值,对B同理考虑进货均值,对与两个均值在不同的上下游节点上根据原来的平均进出货量按大小排序赋予权值a、b,最终确定该条线路的出-入数量就为Aa+Bb。在此基础上计算所有节点的新进出货量,最终得到节点变动后每天/小时每个节点的货量。

问题三

在问题2中我们已经得出了每个节点未来30天的货量,根据员工的值班时间可以得到下表,在小表的基础上分配各时段员工数使得达到题目要求的每小时人效均衡。
在这里插入图片描述
该题无需考虑进出货,只要考虑货量对应的人员。首先题目给出的最大数处理数为25与20,假设实际平均每小时处理数为22与17。
根据问题2的货量已经可以大致得到未来每天的人员数量安排,所有正式工每天上班处理的货数为22X8X60=10560,
因此月平均货量低于该值则理论上不需要临时工,但是由于每天数量参差不齐且排版固定所以只有30天中所有天数的货量都在10560以下才不需要临时工。多余该部分的临时工则数量安排。
重点就在排班的安排上,根据上图各个小时的密度计算各个班次的平均密度,优先正式多余部分安排临时工,以此安排每天每个时段的人数。

问题四

对于问题四题目限制总工作时间不得大于30X0.85即每名员工最多工作25天(这里天数取整,不考虑上零点几天班的特殊情况),因此平均到每天正式员工的处理货数为25X22X8X200/30=29333.3。月工作25天已经完全可以满足工作不连续大于7天,因此该条件已实现。在该货量的基础上对比问题三所得出的预测货量,若每天的货量都大于该值则就以29333.3为准进行人员安排,若某些天数货量小于该值,因为不需要启用所有正式工为了得到更优解需要重算均货量每名正式工每天处理22x8=176件,每低于一个176则可以少安排一个正式工。根据问题三结果计算出所有低于该值的货数,这些数记为盈余。没有0.85出勤率限制时正式工每天的处理货量为22X8X200=35200,因此在货量为29333-35200之间的天数可以用盈余的货量进行填补,以提高处理数量。
最终在此基础上通过与问题三的同样方式进行每日每时人员安排。

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2022 第十二届 mathorcup 高校数学建模挑战赛的 D 是一道要求编程的难度较高的目,要求我们用计算机编写程序实现一个特定的功能,涉及到许多高级算法和数据结构的应用。本的目标是对一些数学模型进行求解和优化,具体来说是对于一个二次规划问,我们需要设计一种有效的算法来求解最小化目标函数的问。 在这道目中,我们需要用到一些重要的数学概念和算法,比如线性代数的矩阵运算、优化算法的最优化、非线性规划、对偶问等等。此外,我们还需要掌握一些编程技巧和数据结构知识,比如动态规划、贪心算法、堆、图论等等。 由于这道目的难度较高,我们需要在做之前先进行充分的准备,包括对相关算法和知识点的掌握、对目要求的理解以及对各种数据结构和编程技巧的掌握。这需要我们在日常的学习和实践中不断积累经验和知识,从而为解决高难度的编程问打下坚实的基础。 总的来说,2022 第十二届 mathorcup 高校数学建模挑战赛的 D 是一道难度较高的编程目,要求运用各种数学知识和编程技巧,设计出一种高效的算法来实现最优化的求解。对于这道目,我们需要具备扎实的数学基础和编程能力,同时也需要在日常的学习中不断积累经验和知识,从而提高自己的解能力和水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值