【2023年第三届长三角高校数学建模竞赛】A 题 快递包裹装箱优化问题 20页完整论文及代码

news2024/10/6 6:01:22

请添加图片描述

相关链接

【2023年第三届长三角高校数学建模竞赛】A 题 快递包裹装箱优化问题 详细数学建模过程

1 题目

2022 年,中国一年的包裹已经超过 1000 亿件,占据了全球快递事务量的一半以上。近几年,中国每年新增包裹数量相当于美国整个国家一年的包裹数量, 十年前中国还是物流成本最昂贵的国家,当前中国已经建立起全世界最强大、最先进的快递物流体系。在包裹的打包环节,选取合适的包装耗材非常重要。由于包裹的基数大,因此每个包裹耗材成本的略微降低,也能带来极大的经济效益。图 1 是一些纸箱实物样式,图 2 是某种三维装箱示意图。

在这里插入图片描述

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

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

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

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

问题 3: 以上两个问题假设货物与耗材都为刚性的,若货物与耗材存在柔性或者可轻微挤压的属性时,请重新完成问题 1、2。根据实际情况,这里考虑耗材伸展时,长、宽、高都不超过原尺寸的 5%。

提示:

1、需要分别给出箱装(全使用箱子作为耗材)、袋装(全使用袋子作为耗材) 以及两种耗材同时使用的方案。
2、物品长宽高可以任意互换,如case1中第一种物品可看成长170、宽110、高27,也可看成长110、宽170、高27。
3、用袋子装物品时,能够装下的判定标准为同时满足如下两个条件: 袋子长+袋子高≥物品长+物品高;袋子宽+袋子高≥物品宽+物品高。
4、在附件1装箱数据中,case序号相同的看作同一订单,同一订单的物品可以装在同一箱(袋)子里,不同订单的物品一定装在不同箱(袋)子里。
5、对附件1装箱数据中的某订单物品,若耗材无论如何不能装下,则不需要考虑该物品。
6、耗材的重量暂不考虑。
7、表1是订单表示例,表2是耗材信息表,更详细的数据见附件1。

表1 部分订单表(示例)

caseL(长)W(宽)H(高)num
1170110277
1210200301
21051051002
21351101105
3208140185
39090751
411565351
5250190533
6140140482
622580352
7292166871
7320240701
8228148262

表 2 耗材信息表

耗材名称耗材类型重量
普通1号袋250190110
普通2号袋30025018
普通3号袋400330115
普通4号袋450420123
普通1号自营纸箱1651205545
普通2号自营纸箱2001407067
普通3号自营纸箱200150150103
普通4号自营纸箱27020090132
普通5号自营纸箱300200170179

2 论文介绍

基于优化模型寻找最优快递装箱方案

摘要

本文针对快递包裹装箱优化问题,在分析题设所给的大量数据信息基础上,由于基数较大,通过算法编程,依据题目要求,不断优化找出最佳装箱方案。在建模基础上, 通过整合数据以及三维模拟订单数据,依托 MATLAB、Python 等软件,将数据归一化, 构造了一套求解问题的模型方案体系,包括贪婪算法、动态规划算法,并应用该方案体系解决题设所给问题。由于上述所给的典型算法具有局限性,因此在设计好对应的基础算法后,针对问题一、二、三,不断优化算法直至其满足题设所需要的最优方案。

对于问题一,首先分析题目,可知为一个双目标优化问题,根据实际,首先要先确定出最少的耗材数量,其次才考虑耗材体积,因此,首先分析每一个订单可以使用的所有包裹编号,其次找出这些包装中体积最小的编号即为本次方案的目标,初始方案就是通过编程设计算法,遍历所有数据,确定最终方案之后依据所出现的问题,不断优化算法,通过我们的优化,总体积从原来的 23110332000 降低到 788818500,大大减少了物流的成本。

对于问题二,在问题一的基础上,建立新的数学模型,计算每个订单所需最小空间。将修改后的算法模型应用其中,通过我们的优化,能够在保证总体积不超过原方案的前提下,进一步减少使用箱子或袋子的数量,以及耗材总体积。最终,我们节省了238895652 的体积,也进一步减少了成本。

对于问题三,仅需将问题一中的数据缩小为原来的 0.05,之后重复前两个问题的步骤即可。将问题 1 和问题 2 中的物品从刚性深度优先装箱问题转化为柔性二维装箱问题。我们将箱袋的尺寸进行微调,保证物品在宽、长、高方向上的伸展不超过原尺寸的0.05。对于这个问题,我们同样采用了贪心算法、动态规划等算法,最终得到了使耗材使用数量最少且总体积最小的解。在优化之后,我们节省了 150994261 的体积,同时达到了最优方案.

最后,我们对模型进行了优缺点分析和推广。

关键字: 打包优化 耗材数量 数学模型 贪心算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TdvvJfbI-1685031207039)(/Users/mgege007/Desktop/论文.png)]

3 下载方式

见知乎文章最底部,或者私信我

zhuanlan.zhihu.com/p/632272511

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

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

相关文章

基于SpringBoot的留守儿童爱心网站的设计与实现

背景 随着留守儿童爱心管理的不断发展,留守儿童爱心网站在现实生活中的使用和普及,留守儿童爱心管理成为近年内出现的一个热门话题,并且能够成为大众广为认可和接受的行为和选择。设计留守儿童爱心网站的目的就是借助计算机让复杂的管理操作…

如何从Ubuntu Linux中删除Firefox Snap?

Ubuntu Linux是一款广受欢迎的开源操作系统,拥有强大的功能和广泛的应用程序选择。默认情况下,Ubuntu提供了一种称为Snap的软件打包格式,用于安装和管理应用程序。Firefox是一款流行的开源网络浏览器,而Firefox Snap是Firefox的Sn…

<Linux开发>驱动开发 -之-基于pinctrl/gpio子系统的LED驱动

<Linux开发>驱动开发 -之-基于pinctrl/gpio子系统的LED驱动 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 u…

chatgpt赋能python:Python二维码解码-从介绍到结论

Python 二维码解码 - 从介绍到结论 二维码在现代数字化时代的应用越来越普及,它能够快速、准确地扫描并解码大量的信息。Python作为一种流行的通用编程语言,已经成为开发人员首选的工具之一,为我们解码二维码提供了强大的支持。本篇SEO文章将…

chatgpt赋能python:Python主模块:入门指南

Python主模块:入门指南 什么是Python主模块? Python主模块指的是一组基本模块,通常在Python程序中使用最为广泛的模块。这些模块包含了各种功能,如文件操作、系统库、数据类型、数学运算等。通过使用这些模块,Python…

Carla自动驾驶仿真五:opencv绘制运动车辆的boudingbox(代码详解)

文章目录 一、安装opencv二、opencv绘制车辆的boudingbox1、构造相机投影矩阵函数2、定义将Carla世界坐标转换成相机坐标的函数3、设置Carla并生成主车和相机4、使用队列接收相机的数据5、计算相机投影矩阵6、定义顶点创建边的列表7、通过opencv显示相机的画面8、通过opencv绘制…

知识点梳理:ATTO 647N NHS ester,ATTO 647N 琥珀酰亚胺酯,荧光标记用于红色光谱区

ATTO 647N NHS ester,ATTO 647N SE,ATTO 647N 琥珀酰亚胺酯,ATTO 647N NHS酯 激发波长(nm):646 发射波长(nm):664 反应图像: 产品规格: 1.CAS号:N/A 2.分子式:N/A 3.分…

Sentinel降级规则

1.降级规则简介 官方文档 熔断降级概述 除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的…

chatgpt赋能python:Python倒序遍历

Python倒序遍历 Python是一种常用的编程语言,其操作序列化和数据结构的方式使得其在网站开发、科学计算和人工智能领域具有重要作用。本文将重点介绍Python中倒序遍历的基本原则和实现方法。 什么是倒序遍历 倒序遍历是指从后往前迭代序列的过程。Python中提供了…

SSRF之GOPHER协议利用

目录 GOPHER协议 GOPHER协议发起的格式 GOPHER利用工具 案例一:CTFSHOW-359关 GOPHER协议 GOPHER协议是一种比HTTP协议还要古老的协议,默认工作端口70,但是gopher协议在SSRF漏洞利用上比HTTP协议更有优势。GOPHER协议可以以单个URL的形式…

chatgpt赋能python:Python编写接口实践:让API更高效、更可靠

Python编写接口实践:让API更高效、更可靠 随着互联网技术的不断发展,API已经成为了现代应用架构的基石之一。而Python作为一种高效、灵活的语言,也逐渐成为了接口开发的首选。 什么是API接口? API是应用程序接口(Ap…

chatgpt赋能python:Python单行循环:提升开发效率的必备技巧

Python单行循环:提升开发效率的必备技巧 在Python编程中,循环是一种非常重要的控制流程,可以让程序执行特定的操作多次。而Python有一种针对短小的循环语句进行简化的技巧,即“单行循环”,也被称为“列表解析”或“生…

数据分析学习

tableau tableau介绍 tableau可以做数据可视化,但可视化只是tableau的基操,数据赋能和数据探索才是tableau的正确打开方式 数据赋能:让业务一线也可以轻松使用最新数据 数据探索:通过统计分析和数据可视化,从数据发现…

从应用层到MCU,看Windows处理键盘输入 [2.a.1.传球手User32.dll]

副标题:精准型消息断点 引言1. 前文作为系列的开篇,我们站在Notepad.exe的视角,看它接过系统传来的消息,交由Notepad的窗口处理函数(WndProc)进行处理的过程。User32.dll!DispatchMessage API是前面"系统传来"4个字中的一环&#…

Kerberos认证原理及相关漏洞

Kerberos认证协议 Kerberos认证协议也称三头犬协议,因为在Kerberos认证过程中,需要有三个角色:Client、Server以及KDC(Key Distribution Center)密钥分发中心。 Kerberos认证协议的目的是为客户端/服务端提供身份验证。最主要的问题是如何证明…

Win11硬盘分区

电脑重装了Win11系统,按WinE打开主文件夹,再点击此电脑,发现: 磁盘只有一个C盘。硬盘的所有空间都在该盘上了,那么我们怎么将其分区呢? Win11硬盘分区步骤: 步骤1: 按WinR输入dis…

数据库中的事务,隔离级别,以及数据展示

想要知道和学习数据库中的锁,要先学习数据库的事务和并发事务所带来的问题! 1.数据库中的事务! 1.1什么事务 事务是由一组SQL语句组成的逻辑处理单元(多个sql进行修改,新增等),这些操作要么同时…

跟踪任何目标(想跟踪什么就跟踪什么)

结果展示 介绍 该项目是一个简单的跟踪工具,可以用于跟踪任何你感兴趣的东西。它提供了一个基于Web的界面,让用户可以轻松地创建和管理跟踪列表,同时也提供了一个RESTful API,可以方便地进行数据交互。 项目的原理是将用户需要跟踪的内容,通过创建跟踪项的方式存储到数据…

Hausdorff 距离

1. 定义 给定欧氏空间中的两点集 A { a 1 , a 2 , . . . } \rm A\left \{a_1, a_2,... \right\} A{a1​,a2​,...} 和 B { b 1 , b 2 , . . . } \rm B\left \{b_1, b_2,... \right\} B{b1​,b2​,...} , H a u s d o r f f {\rm Hausdorff} Hausdorff 距离就是用…

基于SSM的在线考试系统开发与设计-(附源码文档)-毕业设计

文章目录 1.适用人群2.你将收获3.项目介绍4.系统需求分析4.1 需求特性分析4.2 功能需求分析 5.系统设计5.1 系统总体结构设计5.2 数据库设计5.2.1 数据库概念原则设计5.2.2 数据库各部分模块设计5.2.3 数据库表设计 6.系统详细设计6.1 系统各模块功能设计6.1.1 登录模块6.1.2 注…