2021年MathorCupD题思路附MATLAB代码

某钢材生产制造商的钢材切割流程如图 1 所示。其中开卷上料环节将原材料钢卷放在开卷机上,展开放平送至右侧操作区域(见图 2)。剪切过程在剪切台上完成,剪切台上依次有切头剪和圆盘剪。

圆盘剪(见图 3)用旋转的圆盘刀片连续对纵向运动着的原材料进行切割。在圆盘剪剪切前,需根据订单切割方案进行排刀。假设排刀架上可以以任意间距排刀,但刀具数量是有限制的,一次排刀上限不能超过 5 刀。用同一排刀方案切割得到的订单称为一组订单,切割不同组时需要工人重新排刀,称为一次换刀。切割每卷原材料之间均需要换刀。切头剪为“一刀切”,即将整个钢板横向完全切断。图 4-1 中的横向切割(红色虚线所示)不满足一刀切要求,无法用切头剪实现,图 4-2 的横向切割(红色虚线所示)则符合要求。

经过横向切割后,当且仅当某些订单还需要额外横向一刀将其与废料分开,则将这些订单移至小机器再次切割(见图 4-2 蓝色虚线)。同一组内相同订单可以通过一刀同时变成成品。钢材切割订单有两种,分别是板料订单和卷料订单。切完的板料订单直接通过下料小车包装入库,卷料则需要先通过卷取机压臂成卷再入库。

原料在切割成品的同时若有剩余,且符合余料标准(见附件 2),则可将这部分按照余料标准回收入库,供下次切割使用。不符合余料标准的称为废料,必须丢弃。成材率定义为,被切割成成品的面积加上可回库的余料面积与使用原料总面积之比。

更详细的切割说明可参考附件 1 某原材料切割方案说明.xlsx。
工厂未来一批订单需求已给出,订单需求数量必须恰好满足(不允许超额供应)。根据工厂现有原料切割订单,每种原料的使用数目不能超过其库存。请建立数学模型解决下面的问题。

问题 1:针对给出的所有原料,请使用最少张数的原材料,满足对 5种卷料的要求(不考虑浮动比例),同时尽量提高总的成材率,给出切割方案。

问题 2:针对给出的所有原料,请使用最少张数的原材料,满足对所有订单的要求(不考虑浮动比例),同时尽量提高总的成材率,给出切割方案。

问题 3:圆盘剪每次排刀需要人工更换刀在排刀架上的位置,同时若有材料需要被移到小机器上再次切割也需要人为操作。为减少人力成本,希望尽量减少换刀数和在小机器上切割数。针对给出的所有原料,请使用最少张数的原材料,满足对所有订单的要求(不考虑浮动比例)。同时尽量减少换刀数和在小机器上切割数,并尽
量提高总的成材率。给出切割方案。

问题 4:若订单额外指定了浮动比例,则交付的订单长度可在需求长度的基础上上下浮动。例如,规定浮动比例为 5%,则切割出的长度在原有长度的 95%到 105%之间均满足要求。请重新按照第 2 问的要求,给出切割
方案。

思路

是一个二维的优化类问题,或者说背包问题、集装箱问题有些相似,但在难度上更上一层,因为题目中的原料表中有10种原料,相当于有十种背包/集装箱,且各类原料的数量不一。

代码(更新)

在这里贴可能会被和谐,需要的伙伴们在评论区说一下,我私戳你们给你们发过去;或者直接私戳我领取

更新:大家都在评论区说,私聊我的人太多了,系统有限制

再次更新:系统限制每小时只能和几个人私聊,大家点赞+关注的优先发放代码

你可能感兴趣的:(数学建模,数学建模)