快递包裹装箱优化问题
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. 得到具体修订后的值,将结果与原来比对。
问题二模型的建立与求解
这是最后得出的结果: