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

快递包裹装箱优化问题

        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. 得到具体修订后的值,将结果与原来比对。

问题二模型的建立与求解

 

这是最后得出的结果:

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

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

相关文章

【IC前端虚拟项目】sanity_case的编写与通包测试

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 在花了大力气完成reference model之后,整个验证环境的搭建就完成了,再多看一下这个结构然后就可以进行sanity_case和通包测试: 关于sanity_case和通包测试我在很多篇文章中说过好多次了在这里就不赘述…

el-menu弹出菜单样式不生效

1. 使用 ruoyi 项目时出现的问题。 <template><el-menu:default-active"activeMenu":collapse"false":unique-opened"true"class"container":collapse-transition"true"mode"horizontal"><sideba…

华为od 100问 持续分享6-入职体检

我是一名软件开发培训机构老师&#xff0c;我的学生已经有上百人通过了华为OD机试&#xff0c;学生们每次考完试&#xff0c;会把题目拿出来一起交流分享。 重要&#xff1a;2024年5月份开始&#xff0c;考的都是OD统一考试&#xff08;D卷&#xff09;&#xff0c;题库已经整…

Linux驱动开发-05APP和驱动的交互方式

一、传输数据 APP和驱动: copy_to_usercopy_from_user驱动和硬件: 各个子系统的函数通过ioremap映射寄存器地址后,直接访问寄存器二、APP使用驱动的四种方式 驱动程序:提供能力,不提供策略 非阻塞(查询)(应用程序访问底层驱动时(read、write时),驱动没有数据不等待,…

基于 CNN(二维卷积Conv2D)+LSTM 实现股票多变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

单机、集群、分布式服务器比较:

1. 单机服务器的瓶颈&#xff1a; 单机服务器&#xff1a;一台服务器独立运行一个工程所需的全部的业务模块 受限于服务器硬件资源&#xff0c;所承受用户并发量受限&#xff0c;32位linux操作系统最大并发量为两万任一模块的变动和修改&#xff0c;都会导致整个项目代码重新编…

PHP上门按摩专业版防东郊到家系统源码小程序

&#x1f486;‍♀️【尊享级体验】上门按摩专业版&#xff0c;告别东郊到家&#xff0c;解锁全新放松秘籍&#xff01;&#x1f3e0;✨ &#x1f525;【开篇安利&#xff0c;告别传统束缚】&#x1f525; 亲们&#xff0c;是不是厌倦了忙碌生活中的疲惫感&#xff1f;想要享…

从微软发iPhone,聊聊企业设备管理

今天讲个上周的旧闻&#xff0c;微软给员工免费发iPhone。其实上周就有很多朋友私信问我&#xff0c;在知乎上邀请我回答相关话题&#xff0c;今天就抽点时间和大家一起聊聊这事。我不想讨论太多新闻本身&#xff0c;而是更想聊聊事件的主要原因——微软企业设备管理&#xff0…

利用AI与数据分析优化招聘决策

一、引言 在竞争激烈的职场环境中&#xff0c;招聘是组织获取人才、实现战略目标的关键环节。然而&#xff0c;传统的招聘方式往往依赖人力资源部门的主观经验和直觉&#xff0c;难以准确预测招聘效果&#xff0c;评估招聘渠道的效率。随着人工智能&#xff08;AI&#xff09;…

CSPVD 智慧工地安全帽安全背心检测开发包

CSPVD SDK适用于为各种智慧工地应用增加安全防护穿戴合规的检测能力&#xff0c;能够有效检测未戴安全帽和未穿 安全背心的人员&#xff0c;提供Web API和原生API。官方下载&#xff1a;CSPVD工地安全防护检测 1、目录组织 CSPVD开发包的目录组织说明如下&#xff1a; xlpr_…

linux进程——状态——linux与一般操作系统的状态

前言&#xff1a;博主在之前的文章已经讲解了PCB里面的pid——主要讲解了父子进程PID&#xff0c; 以及fork的相关内容。 本节进入PCB的下一个成员——状态&#xff0c; 状态是用来表示一个进程在内存中的状态的&#xff0c; 进程在内存中肯能处于各种状态&#xff0c; 比如运行…

云原生系列 - Jenkins

Jenkins Jenkins&#xff0c;原名 Hudson&#xff0c;2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。 官方网站&#xff08;英文&#xff09;&#xff1a;https://www.jenkins.io/ 官方网站&#xff08;中文&#xff09;&#xff1a;https://www.jenkins.io…

【Linux】汇总TCP网络连接状态命令

输入命令&#xff1a; netstat -na | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]} 显示&#xff1a; 让我们逐步解析这个命令&#xff1a; netstat -na: netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令。 -n 选项表示输出地址和端口以数字格式显示…

贝锐蒲公英远程运维方案:即装即用、无需专线,断网也可远程维护

目前&#xff0c;公路、隧道、桥梁、航道&#xff0c;甚至是施工现场和工业生产环境等&#xff0c;都采用了实时监测方案。 通过部署各类传感器和摄像头等设备&#xff0c;现场视频画面和控制单元&#xff08;如PLC、工控机等&#xff09;数据可以实时回传&#xff0c;用于集中…

AI批量剪辑,批量发布大模型矩阵系统搭建开发

目录 前言 一、AI矩阵系统功能 二、AI批量剪辑可以解决什么问题&#xff1f; 总结&#xff1a; 前言 基于ai生成或剪辑视频的原理&#xff0c;利用ai将原视频进行混剪&#xff0c;生成新的视频素材。ai会将剪辑好的视频加上标题&#xff0c;批量发布到各个自媒体账号上。这…

Android车载MCU控制音量和ARM控制音量的区别和优缺点—TEF6686 FM/AM芯片

不要嫌前进的慢&#xff0c;只要一直在前进就好 文章目录 前言一、系统架构图1.MCU控制音量的架构图&#xff08;老方法&#xff09;2.ARM控制音量的架构图&#xff08;新方法&#xff09; 二、为啥控制音量不是用AudioManager而是执着去直接控制TDA7729&#xff1f;三、MCU控制…

基于JAVA+SpringBoot+Vue+uniApp的校园日常作品商品分享小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、SpringCloud、Layui、Echarts图表、Nodejs、爬…

STM32、Spring Boot、MQTT和React Native:智能停车管理系统的全栈开发详解(附代码示例)

1. 项目概述 随着城市化进程的加快&#xff0c;停车难已成为许多大中城市面临的普遍问题。为了提高停车效率&#xff0c;改善用户体验&#xff0c;本文设计并实现了一套智能停车管理系统。该系统利用STM32微控制器、各类传感器以及移动应用&#xff0c;实现了停车位实时监控、…

缓存弊处的体验:异常

缓存&#xff08;cache&#xff09;&#xff0c;它是什么东西&#xff0c;有神马用&#xff0c;在学习内存的时候理解它作为一个存储器&#xff0c;来对接cpu和内存&#xff0c;来调节cpu与内存的速度不匹配的问题。 缓存&#xff0c;一个偶尔可以听到的专业名词&#xff0c;全…

文章八:并发性能优化技巧

目录 8.1 引言 并发性能优化的重要性 本文的内容结构 8.2 减少锁争用 减少锁争用的方法 使用局部变量和无锁算法的示例 使用局部变量 无锁算法 8.3 无锁算法 无锁算法的基本概念 常用的无锁数据结构和算法示例 无锁队列 无锁栈 8.4 并发性能测试 性能测试工具和…