2024深圳杯数学建模挑战赛B题:批量工件并行切割下料问题思路代码成品论文分析

更新完整代码和成品完整论文

《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓

https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc#

问题重述

深圳杯数学建模挑战赛2024B题:批量工件并行切割下料问题

板材切割下料是工程机械领域重要的生产环节。热切割机由固定板材的底部轨道和发出激光(或火焰)的多刀具系统构成。在一块板材下料过程中,底部轨道(下面简称轨道)只能沿着板材的长边(纵向)做来回移动,移动速度可在区间-80,80mm/s上连续变化;多把切割刀排列在平行于板材短边的一条直线上,每一把切割刀具可以在保持至少100(mm)相互间距和横向次序下做独立(方向和速度都可不一样)横向移动、升起空载、恢复切割、或停机等待其它刀具运行完毕;横向移动速度可在区间-50,50/s上连续变化。每一切割刀具不能做纵向移动,在同一块板材加工过程中,每一刀具停机后也不能从新开机。理论上,在底部轨道与多刀具移动配合下,可并行切割下料多个曲边工件。工件与板边保留不小于10边距,工件之间保留不小于10加工间距。你们的任务是:

一、不考虑切割机运行约束和一块板材的切割下料所需时间,分别针对三种矩形板材:

A8000*2500、B6000*2000、C6000*2500,任意选取附件1中1-15号工件模板(忽略每个模板的内部孔洞)中的工件切割下料,每个型号工件可下料多个,但每块板材切割出的工件至少包含5种型号。给出三种板材的切割排版方案,极大化板材面积利用率。

二、假设可以最多使用5把切割刀下料,设计分别从A、B、C三种型号的板材切割出一题中所得到的下料结果工件的方案,使得整块板的切割下料所需时间尽量短。给出轨道一维移动和所使用的每把刀具的协同运行方案(包括每个刀具横向移动、升起空载、恢复切割、停机等)。

三、附件2给出了一个批量工件的型号分布。选取A,B,C 型板材的任意数量组合切割下料这批工件,不考虑设备时间利用率,极大化所需三个型号板材的总体面积利用率,给出每个型号的板材所需数量和切割排版方案。

四、假设可以最多使用10把切割刀下料附件2给出的批量工件,所需A,B,C 型板材的总体利用率不小于三题中所得排版利用率的95%,极小化这批工件的总体切割下料所需时间。给出每个型号的板材所需数量,给出每块板材下料时轨道移动和所使用的每把刀具的运行方案。

五、实际工况不仅要考虑板材利用率和设备时间利用率,还要考虑刀具空载的能量耗费,能量、板材和设备时间三者都具有经济价值,附件2给出了三者价格比例(其中能量的计量单位使用1刀具开机1小时)。使用最多10把刀具切割下料附件2给出的批量工件,极小化所使用的能量、板材和设备时间的价值总和。给出每个型号的板材所需数量,给出每块板材下料时轨道移动和所使用的每把刀具的协同运行方案。

B题思路分析

2024深圳杯数学建模B题(东三省数学建模B题):批量工件并行切割下料问题

问题1:本题考虑如何在一块矩形板材上切割出给定尺寸的多个矩形工件,使得板材利用率最高。这是一个典型的二维装箱问题(2D bin packing)或矩形装填问题(rectangle packing)。求解这类问题通常采用启发式搜索算法,如回溯法、模拟退火、遗传算法等。以回溯法为例,我们可以将板材划分为若干discrete的网格,工件的长和宽用整数个网格表示。先将工件按某种规则(如面积降序)排序,然后依次选取一个工件,枚举其所有可能的摆放位置和方向,递归地摆放下一个工件,直到所有工件都被摆放或无法继续摆放。在搜索过程中记录最优的摆放方案,即得到最优排样结果。为了提高效率,可以设置剪枝规则,提前排除某些无望的分支。在目标函数的设计上,除了最大化利用率,还可以考虑其他因素,如最小化边角料数量、最小化切割难度等,形成多目标优化问题。

问题2:在考虑切割时间的情况下,工件的排样结果和切割顺序都会影响总加工时间。每个工件的切割路径可以抽象为刀具的一条路径,整个切割过程相当于刀具在板材上游走,经过每个工件的路径恰好一次。因此,可以将该问题转化为多个销售员(多把刀具)分别访问不同城市(不同工件)的多旅行商问题(mTSP)。目标是找到k条路径,覆盖所有工件,且总路径长度最短。这仍是一个NP-hard的组合优化问题。常用的求解方法有遗传算法(GA)、蚁群算法(ACO)、禁忌搜索等启发式算法。以遗传算法为例,我们可以将k条路径编码为一个个体,对种群中的个体进行选择、交叉、变异等操作,不断优化解的质量。评价一个切割方案的Fitness Function需要同时考虑总切割时间和Board utilization。此外,根据刀具的运动特性设置一些切割约束,避免生成无效路径。要进一步提高求解性能,可以借鉴Vehicle Routing中的某些策略,如Clustering先将工件分组,再各自路径规划等。

问题3:当订单规模进一步增大时,现有的板材种类不一定能完全满足生产需求,此时需要考虑多块板材的组合切割。首先,对于每一种板材,利用问题1的方法求解最优排样,记录单块板材的最大利用率。然后,建立整数规划模型,以各类板材的数量为决策变量,最大总利用率为目标,工件数量要求为约束,求解最优的板材组合。这里可以用Branch-and-Bound、Cutting Plane等方法求解IP模型。得到板材组合方案后,再根据各板材的排样结果生成切割任务清单。值得注意的是,由于订单规模较大,最优解可能需要的计算时间很长。实际生产中,可以接受次优解,因此可以设置时间限制,在规定时间内输出当前最优解。此外,如果某些板材的利用率较低,可以适当放宽利用率要求,从全局考虑成本最小。

问题4:在问题3的基础上,进一步引入时间约束,要求所有工件加工完成的用时最短。这需要在多块板材排样的基础上,优化每块板材的切割路径,协调各刀具之间、上下料与切割之间的时序关系。可以将其建模为Flexible Job Shop Scheduling Problem(FJSP)与mTSP的组合优化问题。目标函数是最小化makespan,约束条件包括工件加工要求、机器能力限制、排样利用率要求等。求解思路可以分为两阶段:先用启发式算法生成若干可行的Board Usage方案(包括板材组合和具体排样);再为每个方案优化切割和调度过程,如用Hybrid GA结合调度规则求解FJSP子问题,同时用Adaptive ACO求解mTSP子问题。比较所有方案的makespan,综合评价其性能。还可以设计Memetic Algorithm,将两阶段的求解嵌套迭代,在Evolutionary框架下集成不同的Heuristics,快速收敛到全局最优解。

问题5:在生产实践中,Board Utilization、Makespan、Energy Consumption通常是相互trade-off的多个优化目标。它们分别对应材料成本、人工/机器时间成本、能源成本,权重可以用单位时间的货币价值来衡量。整个Cut Planning就是在总成本最低的约束下,合理分配和调度有限的板材、刀具、时间等资源。这可以建模为多目标优化问题(MOP),用Weighted Sum法将多个目标归一化为总成本目标,或用e-Constraint法将除Makespan外的目标转为约束,在Makespan最小的前提下优化其他指标。之前用到的SA、GA、ACO等Meta-heuristic都可以推广到多目标优化,关键是设计合理的Solution Encoding和Fitness Evaluation。在约束处理上,可以用Penalty Function将约束violation量化为惩罚项,使unfeasible solution也可参与进化,扩大搜索空间。在种群搜索过程中,还可以用Pareto Dominance、Crowding Distance等机制保持解集的多样性,收敛到一个分布良好的Pareto Front。最后再从这些non-dominated solutions中选取总成本最优的切割方案。

后续更新代码和论文!

相关推荐
卷福同学8 小时前
不用服务器,不用配环境,我10分钟上线了一个AI Agent
人工智能·后端·算法
码兄科技9 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
Zik----10 小时前
CCswitch-code
人工智能
至乐活着10 小时前
深入解析跳表SkipList:原理、实现与性能优化实战
数据结构·算法·跳表·skiplist·java实现
AI科技星11 小时前
全域谱分析:无穷维超复数信息场分形统一场论 ——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·机器学习·金融·乖乖数学·全域数学
stormzhangV11 小时前
为什么你的 AI 像智障
人工智能
Jerry11 小时前
LeetCode 383. 赎金信
算法
ai产品老杨11 小时前
H264 H265视频分析常见问题和排查清单
人工智能·算法·音视频
项目经理老王12 小时前
OpenClaw无捆绑安装包,安全纯净版AI助手部署
人工智能·安全
Jerry12 小时前
LeetCode 454. 四数相加 II
算法