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

news2024/9/21 14:43:22

在这里插入图片描述

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 思路

2.1 问题一

这个一个目标规划中的三维装箱算法问题。根据附件1.csv文件中的订单数据,可以得到以下信息:

  • 每个订单有多个产品,每个产品的长、宽、高和数量都不同。
  • 每个订单都需要使用一定数量的耗材。
  • 每个耗材包括多种不同的规格和重量。

为了更高效地计算每个订单所需的装箱量,可以使用三维建模软件来模拟不同尺寸和形状的箱子和袋子的使用情况,大概的建模过程如下:

  1. 首先需要将所有的产品按照其长、宽、高进行归一化,使得所有产品的尺寸单位都相同。例如,可以将所有产品的长、宽、高除以一个标准长度(比如170mm),得到归一化后的尺寸。
  2. 然后需要确定每个产品最适合使用的尺寸和形状的箱子或袋子,以及需要使用的数量。这个过程可以根据实际情况进行优化算法,可以考虑以下因素:
  • 箱子或袋子的尺寸是否能够容纳产品?
  • 箱子或袋子的形状是否能够适应产品的形状?
  • 使用单个箱子或袋子时是否能够满足耗材数量要求?
  • 如果使用多个箱子或袋子,则它们的尺寸和形状是否能够最大化地利用空间?
  • 如果使用多个箱子或袋子,则它们之间是否存在重叠部分,导致浪费空间?
  1. 对于每个订单,需要计算出它需要使用的箱子或袋子的总数量和总体积。具体的计算方法取决于选择的优化策略。一般来说,可以考虑以下两种策略:
    • 贪心算法:每次选择能够使耗材数量最少的产品组合,并尝试使用最合适的箱子或袋子来装载它们。如果当前的组合无法满足耗材数量要求,则继续选择其他产品组合,直到找到合适的组合或者已经没有更多的可选项为止。这种策略的优点是速度较快,但可能会出现无法满足耗材数量要求的组合。
    • 动态规划算法:预先计算出所有可能的组合的耗材数量和体积,然后根据实际需求逐步选择合适的组合和箱子或袋子。这种策略的优点是能够确保满足所有的耗材数量要求,但计算量较大。

2.2 问题二

我将附件1拆分为两个csv文件,方面后续的讲解,订单数据.csv和全部耗材数据.csv数据,可以采用以下优化方案来改变耗材尺寸,同时尽量减少使用箱子或袋子的数量,并且总体积不能超过原方案的总体积。对于这个题的建模过程如下。

  1. 确定优化方案的目标和约束条件:减少使用箱子或袋子数、总体积不能超过原方案的总体积、耗材总体积越小越好。
  2. 建立数学模型:定义一个函数 f ( d 2 ) f(d_2) f(d2),表示将所有产品放入尺寸为 d 2 d_2 d2的箱子或袋子中所需的最小空间。
  3. 设计算法:根据上述数学模型,设计算法来计算最优的 d 2 d_2 d2尺寸。具体来说,可以采用贪心算法或者动态规划算法等方法进行计算。
  4. 实现算法:将设计的算法实现到程序中,并调用该程序来计算最优的 d 2 d_2 d2尺寸。
  5. 分析算法性能:对算法进行性能分析,包括时间复杂度、空间复杂度等方面的评估,以确定算法是否满足要求。
  6. 不断优化算法:如果算法性能不够理想,可以对算法进行优化,以提高其效率和准确性。

2.3 问题三

(1)问题一改进

在贪心算法或者动态规划算法的基础上,考虑耗材的柔性属性,将每个产品的尺寸进行归一化后,计算出产品在不同尺寸下能够放入箱子或袋子中的最小体积。如果产品的形状存在柔性或可轻微挤压的属性,那么产品放入尺寸为k的箱子或袋子中时,长、宽、高都不超过 0.5 × k 0.5\times k 0.5×k的限制。

(2)问题二改进

在原有模型的基础上,考虑货物与耗材的柔性属性,即当货物或耗材具有柔性或可轻微挤压的属性时,在计算占用空间时应将长、宽、高都限制在原尺寸的5%以内。对于每个产品,将其长、宽、高分别除以 d 2 d_2 d2,得到三个比例系数 r 1 , r 2 , r 3 r_1, r_2, r_3 r1,r2,r3,然后将它们相乘即可得到占用的空间。

3 建模方案

3.1 问题一

以下是针对每个订单使用贪心算法的三维装箱算法,以减少耗材数量和优化耗材总体积为目标:

  1. 首先,需要将所有产品按照尺寸进行归一化,使得所有产品的尺寸单位都相同。例如,对于长、宽、高分别为170mm、110mm、27mm的产品,可以将其归一化为170mm×110mm×27mm的尺寸。

  2. 然后,需要计算出每个订单需要使用的箱子或袋子的总数量和总体积。具体的计算方法取决于选择的优化策略。

  3. 对于每个订单,可以使用三维贪心算法来进行装箱。具体步骤如下:

。。。略,请下载完整文档
下面是具体的数学公式说明:

d p [ i ] [ j ] [ k ] dp[i][j][k] dp[i][j][k] 表示在前 i i i 个产品中选择尺寸为 j j j 的产品放入尺寸为 k k k 的箱子或袋子的最优解,其中 d p [ i ] [ j ] [ k ] dp[i][j][k] dp[i][j][k] 的定义如下:

。。。略,请下载完整文档

3.2 问题二

针对装箱数据中给出的订单部分数据附件1.csv和全部耗材数据附件2.csv数据,可以使用数学模型来优化耗材尺寸,以达到减少使用箱子或袋子数、总体积不能超过原方案的总体积、耗材总体积越小越好的目标。
假设原方案中每种耗材的尺寸为 d 1 d_1 d1,数量为 n 1 n_1 n1,总体积为 V 1 V_1 V1;优化后方案中每种耗材的尺寸为 d 2 d_2 d2,数量仍为 n 2 n_2 n2,总体积为 V 2 V_2 V2。需要求解以下问题:

。。。略,请下载完整文档
在满足上述条件之一之后,就可以确定最优的

3.3 问题三

(1)改进问题一思路

在贪心算法的基础上,考虑耗材的柔性属性,将每个产品的尺寸进行归一化后,计算出产品在不同尺寸下能够放入箱子或袋子中的最小体积。如果产品的形状存在柔性或可轻微挤压的属性,那么产品放入尺寸为k的箱子或袋子中时,长、宽、高都不超过 0.5 × k 0.5\times k 0.5×k的限制。

具体数学模型如下:

。。。略,请下载完整文档

(2)问题二改进思路

  1. 在原有模型的基础上,考虑货物与耗材的柔性属性,即当货物或耗材具有柔性或可轻微挤压的属性时,在计算占用空间时应将长、宽、高都限制在原尺寸的5%以内。

  2. 对于每个产品,将其长、宽、高分别除以 d 2 d_2 d2,得到三个比例系数 r 1 , r 2 , r 3 r_1, r_2, r_3 r1,r2,r3,然后将它们相乘即可得到占用的空间。具体数学模型如下:
    。。。略,请下载完整文档

4 完整文档获取方式

看我知乎文章的最底部。

zhuanlan.zhihu.com/p/628512849

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

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

相关文章

阿里云服务器建站教程来了(十分钟网站上线)

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流程: …

布朗运动模拟

布朗运动模拟 文章目录 布朗运动模拟[toc]1 布朗运动定义2 布朗运动模拟3 布朗桥4 带漂移布朗运动5 几何布朗运动 1 布朗运动定义 给定随机过程 { W ( t ) , t ≥ 0 } \{W(t),t \ge 0 \} {W(t),t≥0},满足以下条件,则称 W ( t ) W(t) W(t)为标准布朗运动…

1 ElasticSearch介绍

全文检索 Elastisearch 研究 目标 了解Elasticsearch的应用场景掌握索引维护的方法掌握基本的搜索Api的使用方法 约束 阅读本教程之前需要掌握Lucene的索引方法、搜索方法 。 1 ElasticSearch介绍 1.1 介绍 官方网址:https://www.elastic.co/cn/products/elas…

【OpenCV】学习课-图像获取与显示(1)!

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Ruby、MATLA…

JAVA-多态

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 1.多态的概念 2.多态的实现条件 3.重写 总结 1.多态的概念 什么是多态? 通俗来说,就是多种形态,具体点就是去完成某个…

【仪器控制】LAN Web 浏览器界面!

仪器支持不同的接口和协议进行远程控制。下表给出了概述 LAN web 浏览器界面 : LAN Web 浏览器界面允许轻松配置 LAN 和远程控制 R&S FSW,无需额外的安装要求。 仪器的 LAN 网络浏览器界面可与所有 W3C 兼容的浏览器正常工作。 通过 R&S FSW 的 …

React组件实例state-事件绑定(三)

类组件中的属性 我们看一个简单的类组件实例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>hello_react</title></head><body><!-- 准备好一个“容器” --><div id&q…

Tech Talk | 还原照片不同亮度范围细节——RAW HDR技术

拍照时&#xff0c;你是否遇到过这些情况呢&#xff1f; 拍摄的成片暗区过暗&#xff0c;高亮区域过曝 逆光拍摄中&#xff0c;会出现“鬼影” 暗部噪声偏大导致图像出现瑕疵 ....... 照片的高光和暗区细节得总是不到完美呈现&#xff0c;这是所有拍摄设备都会出现的问题。那么…

淘宝拍立淘多码识别方案总结

本文通过拆解原始问题、发散思路优化等方式&#xff0c;记录了扫一扫从单码到多码识别的技术框架改造及多码识别率优化方案。其中涉及解码SDK的能力、码处理技术链路、码转换算法、降低漏检率策略等设计与实现。 背景与挑战 多码即在同一个界面中同时存在多个条码或二维码&…

国产自研数据库是更新换代首选

伴随着数字经济的高速发展&#xff0c;越来越多的企业都意识到了数据是现代企业最具价值的资产。而与之相对应的是&#xff0c;数据库的重要性也随之水涨船高。 近年来&#xff0c;在席卷全球的云原生大潮中&#xff0c;数据库产业迎来了极为重要的转型升级。特别是在自主创新的…

JVM系列-第7章-对象的实例化内存布局与访问定位

对象的实例化内存布局与访问定位 对象的实例化 大厂面试题 美团&#xff1a; 对象在JVM中是怎么存储的&#xff1f;对象头信息里面有哪些东西&#xff1f; 蚂蚁金服&#xff1a; 二面&#xff1a;java对象头里有什么 对象创建的方式 new&#xff1a;最常见的方式、单例…

真正的智能不仅仅是一个技术问题

智能并不是单一的技术问题&#xff0c;而是一个包括技术、人类智慧、社会制度和文化等多个方面的综合体&#xff0c;常常涉及技术变革、系统演变、运行方式创新、组织适应。智能是指人类的思考、判断、决策和创造等高级认知能力&#xff0c;可以通过技术手段来实现增强和扩展。…

【基础篇】nginx代理、动静分离、路径重写、高可用以及https配置

目录 正向代理 反向代理 负载均衡 负载均衡的策略 动静分离 alias与root UrlRewrite(资源路径重写) 防盗链配置 高可用配置 Https证书配置 安装BBS&#xff08;开源界的鼻祖&#xff09; 正向代理 用户知道nginx服务器的存在&#xff0c;与nginx服务器是一伙的。…

第五十五章 Unity 视频播放

使用视频播放器组件(Video Player)可将视频文件附加到游戏对象&#xff0c;然后在运行时在游戏对象的纹理上播放。首先&#xff0c;我们需要了解视频文件。视频文件的典型文件扩展名包括 .mp4、.mov、.webm 和 .wmv。可将许多不同的视频文件格式导入 Unity 中。Unity 将导入的视…

【Linux】编译器gcc/g++的使用

&#x1f3d6;️作者&#xff1a;malloc不出对象 ⛺专栏&#xff1a;Linux的学习之路 &#x1f466;个人简介&#xff1a;一名双非本科院校大二在读的科班编程菜鸟&#xff0c;努力编程只为赶上各位大佬的步伐&#x1f648;&#x1f648; 目录 前言一、gcc/g的介绍二、程序的翻…

基于Vue CLI搭建vue3项目

前言 使用vue官方的脚手架进行搭建Vue CLI 注意&#xff1a;create-vue是基于Vite搭建项目&#xff0c;今天我们还是基于webpack搭建使用vue create 项目名称这个命令 一、步骤 1、 使用默认配置项还是自定义配置 这里我选择自定义 2、 选择需要配置的选项 根据个人进行…

ChatGPT不会很快接管人类工作,AI也不会免费打工

ChatGPT 等大模型的相继发布&#xff0c;让很多人倍感压力&#xff0c;害怕 AI 会很快接管他们的工作。对此&#xff0c;OpenAI 也曾发表过一项研究&#xff0c;表明 ChatGPT 的影响涵盖所有收入阶层&#xff0c;且高收入工作可能面临更大的风险。事实到底如何呢&#xff1f; …

IT知识百科:什么是下一代防火墙和IPS?

引言 随着网络攻击的日益增多&#xff0c;防火墙和入侵防御系统&#xff08;Intrusion Prevention System, IPS&#xff09;已成为企业网络安全的必备设备。然而&#xff0c;传统的防火墙和IPS已经无法满足复杂多变的网络安全威胁&#xff0c;因此&#xff0c;下一代防火墙和I…

Java集合(底层设计与实现)

Java集合&#xff08;底层设计与实现&#xff09; 集合体系 List接口 基本介绍 元素有序&#xff08;即添加顺序和取出顺序一致&#xff09;、且可重复支持索引有下标&#xff0c;下标对应元素在容器中的位置 ArrayList 基本介绍&#xff1a;底层由数组实现&#xff1b;在…

软考 软件设计师数据结构二笔记

查找基本概念 顺序查找 折半查找&#xff08;二分查找顺序存储 &#xff09; 查找一个数据先给他折中&#xff0c;看看要查找的是不是大于中间值如果大于前面的就不用查找了 l和r指向对应下标 二分查找补充 上图描述如何构造这般查找判定树&#xff0c;一般都是下取整 …