数学建模——快递包裹装箱优化问题(2023年长三角数学建模A题问题一、问题二)

时间:2024-07-20 07:01:18

快递包裹装箱优化问题

        2022 年,中国一年的包 裹已经超过1000 亿件,占据了全球快递事务量的一半以上。近几年,中国每年新增包裹数量相当于美国整个国家一年的包裹数量,十年前中国还是物流成本最昂贵的国家,当前中国已经建立起全世界最强大、最先进的快递物流体系。

        在包裹的打包环节,选取合适的包装耗材非常重要。由于包裹的基数大,因此每个包裹耗材成本的略微降低,也能带来极大的经济效益。图1 是一些纸箱实物样式,图2 是某种三维装箱示意图。

图1 纸箱样式                      图2 三维装箱示意图

附件1 的装箱数据中给出了订单数据和耗材数据。根据以上背景,请你们的团队完成以下问题:

        问题1. 针对附件1装箱数据中给出的订单数据和耗材数据,对每个订单,分别用箱子或袋子去装,请设计出合适的装载方案,要求使用耗材数量越少越好,在耗材数量相同时,耗材总体积越小越好。给出每种耗材的使用总数和耗材总体积。

        问题2. 针对附件1的数据,现在需要优化耗材的尺寸,请给出耗材尺寸的优化方案。要求优化后耗材的种数不变,只是改变耗材尺寸;对问题1中成功装载的物品,优化后的方案使用的箱子或袋子数尽量减少;总体积不能超过原方案的总体积;在耗材数量相同时,耗材总体积越小越好。给出优化后的每种耗材的具体尺寸、使用总数和耗材总体积。

提示:

1、需要分别给出箱装(全使用箱子作为耗材)、袋装(全使用袋子作为耗材)以及两种耗材同时使用的方案。

2、物品长宽高可以任意互换,如case1中第一种物品可看成长170、宽110、高27,也可看成长110、宽170、高27。

3、用袋子装物品时,能够装下的判定标准为同时满足如下两个条件:

袋子长+袋子高≥物品长+物品高;

袋子宽+袋子高≥物品宽+物品高。

4、在附件1装箱数据中,case序号相同的看作同一订单,同一订单的物品可以装在同一箱(袋)子里,不同订单的物品一定装在不同箱(袋)子里。

5、对附件1装箱数据中的某订单物品,若耗材无论如何不能装下,则不需要考虑该物品。

6、耗材的重量暂不考虑。

7、表1是订单表示例,表2是耗材信息表,更详细的数据见附件1。

表1 部分订单表(示例)

case

L(长)

W(宽)

H(高)

num

1

170

110

27

7

1

210

200

30

1

2

105

105

100

2

2

135

110

110

5

3

208

140

18

5

3

90

90

75

1

4

115

65

35

1

5

250

190

53

3

6

140

140

48

2

6

225

80

35

2

7

292

166

87

1

7

320

240

70

1

8

228

148

26

2

表2 耗材信息表

耗材名称

耗材类型

重量

普通1号袋

250

190

1

10

普通2号袋

300

250

1

8

普通3号袋

400

330

1

15

普通4号袋

450

420

1

23

普通1号自营纸箱

165

120

55

45

普通1号自营纸箱

200

140

70

67

普通3号自营纸箱

200

150

150

103

普通4号自营纸箱

270

200

90

132

普通5号自营纸箱

300

200

170

179

摘要

2022年快递行业的发展迅速,变革之年,成长可期,快递行业的迅速发展,也带来了一些关于这方面的问题,在包装快递时,如何做到让快递的打包环节能够做到减少耗材的浪费,是一个重要的问题,快递基数大,即使是对快递包装减少极小量,也能够带来巨大的经济效益,并且对于环保也有所助益,本文即是在研究快递在进行包装时如何能够取得最优方案。

针对问题一,借助MATLB对于矩阵函数处理的功能,我们先将订单以及包裹的包装导入到MATLAB的矩阵之中,然后根据题目中给出的包装条件,将物品的长、宽、高与耗材的长、宽、高进行对比,并进行枚举与递归,建立了以耗材消耗最小为目标的函数(见附录),运行后得到处理结果,并且通过多次递归得到最优解,得到耗材的最小数,对于全进行袋装和全进行箱装和箱装与袋装结合包装进行比对,得到包装的最优结果。最后列表展示部分包装耗材的表面积与体积,对比它们在包装上所耗的材料。

针对问题二,本题选用0-1整型规划模型,在问题一的基础上对包装的耗材进行修正它们的长、宽、高,并依次设出它们所对应的未知数,将包装进行分类,运用EXCEL的相关函数功能,算出各个包装在该范围下耗材最少时,各个包装所对应的长、宽、高(见表x-x),求解后得出相对应的耗材,并且对于修正过后的耗材与原先的耗材进行对比,得出节省的部分。

最后,我们通过比对,得出了袋装与箱装的区别以及二者在经过修正后的长、宽、高,这也让我们看出在对于订单的包装设计上,可以更加精确地设置,而不是选择取整包裹尺寸,造成耗材地浪费。通过本文,我们可以得到更加精确的包装设计,对于快递地包装来说,能够有效的节省材料,保护环境。

关键词:快递包装;整型规划;耗材;递归

问题一

问题一的分析

       对于问题一,我们可以将其看作是一个一个具有多限制条件的目标函数,将包装耗材最小值看作我们的目标函数,将题目给出的条件看作是函数的限制条件。如袋装快递时,我们可以看出条件为:

袋子长+袋子高≥物品长+物品高;

袋子宽+袋子高≥物品宽+物品高。

对于箱装物品时,我们可以看作条件为:

箱子长≥物品长;

箱子宽≥物品宽;

箱子高≥物品高。

那么我们可以依次设物品的长、宽、高分别为a、b、c,而袋装和箱装时的长、宽、高分别为x、y、z,或是l、m、n,通过枚举或是遍历的方法将几者区分。

由于公式以及论文格式问题,我这伦理为了方便直接截图了我当时的论文问题一模型建立:

问题一模型的建立与求解:

 

 

        使用EXCEL处理也是可以的,不过数据过大,负责数据处理的同学任务可能会有些大,所以还是建议负责数据处理的编程手同学可以在MATLAB上编写函数,但是代码也需要将数据放上去,跑代码时间可能会比较久。

        这里是使用箱子时一部分MATLAB代码,省略了一部分订单数据,因为数据量比较大,可以根据自己的订单数据放上去,使用袋子时需要的代码也同理可得。

x1=xiangzi(:,1)+xiangzi(:,3)  
x2=dingdan(:,1)+dingdan(:,3)  
y1=xiangzi(:,2)+xiangzi(:,3)  
y2=dingdan(:,2)+dingdan(:,3)  

for i=1:1:10000
[m1,n1]=find(x1>=x2(i));  
[m2,n2]=find(y1>=y2(i));  
fangan=min(intersect(m1,m2)); 
w(i,:)={fangan};

问题二

问题二的分析

     对于问题二,我们需要在问题一的基础上对其进修正。材料的尺寸和其使用量相挂钩,我们应该以总材料的使用量作为我们的目标函数,以及它的耗材相对应的使用准则为约束条件,在此基础上,构建规划模型,通过规划模型对目标函数进行求解,得到更正后各个耗材的修正值。

1. 建立以总材料使用量为目标的目标函数;

2. 以耗材使用量和不改变使用耗材种类为约束条件;

3. 构建规划模型,将解得的值代入求解;

4. 得到具体修订后的值,将结果与原来比对。

问题二模型的建立与求解

 

这是最后得出的结果: