天然肠衣搭配问题 2011年全国大学生数学建模竞赛 A题 优秀论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天然肠衣搭配问题
摘要
本文针对天然肠衣原料的搭配方案进行设计,充分考虑最优化原则,在满足搭配方案具体要求同时兼顾效率的情况下,设计线性规划模型,并借助软件Lingo求解出最理想的捆数与搭配方案。
对于题目给出的五个具体要求,我们经过分析之后将其划分优先级,逐层递进地找出答案。
首先我们将条件(1)设为最优先条件即对于给定的一批原料,装出的成品捆数越多越好。在此基础上,条件(2)的优先级次之。对于条件(3)和(4),我们经过讨论后认为其意在于放宽较为苛刻的长度与每捆根数要求以符合实际生产。因而理想情况应是所有捆的根数与长度都恰好满足规格。当由于给定数据原因使得理想情况不能实现时,再考虑放宽剩余原料的组装长度与根数要求,条件(3)与(4)的优先级最次。在建模过程中,我们先对各规格在不考虑(3)与(4)的情况下进行线性规划,求每种每捆可行搭配方案所能组装出的最大捆数,再将其加和得出各规格的最大捆数。这种方法在数据量较大的情况下兼顾了精确度与效率。
对上述不能组合的剩余材料我们则放宽条件。因条件(2)要求最短长度最长的成品数量尽可能多,再结合条件(4)中原料可以降级使用的规则,故我们采用先从规格三的剩余原料考虑,再依次降级并入次级的原料使用考虑搭配。由于剩余材料数量较少,故可以不必考虑效率问题。最后满足条件(5)将结果求解。
利用上述模型和Lingo软件最后求解出了最大捆数183。并可以根据已知原料数量求出具体的搭配方案。
关键词:搭配方案线性规划 Lingo
1.问题重述
天然肠衣(以下简称肠衣)制作加工是我国的一个传统产业,出口量占世界首位。肠衣经过清洗整理后被分割成长度不等的小段(原料),进入组装工序。传统的生产方式依靠人工,边丈量原料长度边心算,将原材料按指定根数和总长度组装出成品(捆)。为了提高生产效率,公司计划改变组装工艺,先丈量所有原料,建立一个原料表。
原料按长度分档,通常以0.5米为一档,如:3-3.4米按3米计算,3.5米-3.9米按3.5米计算,其余的依此类推。表1是几种常见成品的规格,长度单位为米,∞表示没有上限,但实际长度小于26米。
表2为某批次原料描述。
要求根据以上成品和原料描述,设计一个原料搭配方案,工人根据这个方案“照方抓药”进行生产。
公司对搭配方案有以下具体要求:
(1) 对于给定的一批原料,装出的成品捆数越多越好;
(2) 对于成品捆数相同的方案,最短长度最长的成品越多,方案越好;
(3) 为提高原料使用率,总长度允许有±0.5米的误差,总根数允许比标准少1根;
(4) 某种规格对应原料如果出现剩余,可以降级使用。如长度为14米的原料可以和长度介于7-13.5米的进行捆扎,成品属于7-13.5米的规格;
(5) 为了食品保鲜,要求在30分钟内产生方案。
要求对上述问题建立数学模型,给出求解方法,并对表1、表2给出的实际数据进行求解,给出搭配方案。
2.模型假设
1)原料丈量无错误,设备无故障。
2)原料不被破坏或截断使用。
3)原料等级仅有长度决定,且可以降多级使用。
4)方案产生时间仅包括数据运算处理时间,不包括丈量及其它工序的时间
5)问题中±0.5米的误差不属于装配时的粗大误差
6)原料长度不会超过或达到26米
3.符号说明
x1···x46 每一捆在不同长度区间内所用根数
y1···每一规格计算时逐次筛选得到的不同组合的捆数
Y 每一规格总捆数
f1···理想最大捆数
4.问题分析
本题提出一个肠衣搭配的问题,旨在寻找简便快捷的方法找出优秀的肠衣搭配方案以实现最大效益。题中给了五个要求,经过分析,我们确定要求一最大捆数和要求二最短长度最长的成品最多为实现最大效益的最关键因素,而题中所给的要求三四则是为了最大程度利用原料而作出的妥协。至于要求五则对方案产生时间提出要求,也是为了效益考虑,在建模时则体现为模型的简单性与程序的求解速度。以下将会对五个要求进行逐一分析.
4.1要求一:对于给定的一批原料,装出的成品捆数越多越好;
实际上这是一个拥有多个约束条件求最大值的问题。在初步思考中,我们打算利用lingo进行非整数线性规划,逐一将约束条件列出,利用矩阵乘法进行简化,求出捆数的最大值以及方案。实际操作过程中却发现在规格三时变量数量过于庞大,求解过程过于繁杂,不满足要求五,故作出调整。简化的方案首先考虑一捆的情况,分析每一捆所用不同长度肠衣的根数,再辅以诸多约束条件结合lingo即可求出一组相同的捆绑组合的情况,在应用此方法不断重复即可得到一批不同组合的捆绑组,最后无法再捆绑的肠衣作为剩余原料处理。
4.2要求二:对于成品捆数相同的方案,最短长度最长的成品越多,方案越好;
成品捆数中的最短长度最长的显然是由第三组,也就是长度最长的规格三捆绑组合所决定的,但在采用简化后方法之后,这一条件已经被自动满足。
4.3要求三:为提高原料使用率,总长度允许有± 0.5米的误差,总根数允许比标准少1根;
此条件在处理剩余材料时有重要意义,由于剩余材料数量比较小,可以采用利用矩阵乘法结合lingo进行非整数线性规划并且考虑± 0.5米的误差和根数少一的情况。
4.4要求四:某种规格对应原料如果出现剩余,可以降级使用。如长度为14米的原料可以和长度介于7-13.5米的进行捆扎,成品属于7-13.5米的规格;
在本文解法中,此要求同样会在剩余材料处理时体现,由于规格三的剩余材料数量还比较客观,故在规格三内部采用矩阵乘法并考虑± 0.5米的误差和根数少一的情况处理一遍。然后再将剩余材料降级与规格二的剩余材料组合采用上述方法操作,剩余材料再与规格一的剩余材料混合操作。
4.5要求五:为了食品保鲜,要求在30分钟内产生方案。 此要求主要针对模型求解速度提出要求,而简化模型并有机结合复杂和简单两种处理方法的手段有效保证了时间上的高效性。由于简化后的模型虽然操作步骤多,但是程序运行时间很短;并且在运用矩阵乘法结合lingo 考虑多种误差的方法只针对数量较少的剩余材料使用,使程序效率大大提高。因此此要求能够顺利满足。
5. 模型建立
5.1. 求最大捆数和捆绑方案的逐次筛选模型一建立。 规格一:
规格一要求20根组成89米,且共有8个不同区间。现对每一捆设其在每个区间里分别用了x1,x2···x8,可以得到:
123456781234567820
3 3.5
4 4.5
5 5.5
6 6.589
x x x x x x x x x x x x x x x x +++++++=+++++++=
而x1,x2···x8 满足的限制条件为
123443
594941
x x x x ≤≤≤≤ 567827
283421
x x x x ≤≤≤≤
在lingo 第一遍计算得出结果后(lingo 程序代码见附录),假设第一遍得到y1捆,对应的不同区间根数分别为x11,x21···x81,在第二次计算时则将限制条件改为:
11112211331144115511661177118811
4359394127283421x x y x x y x x y x x y x x y x x y x x y x x y ≤-≤-≤-≤-≤-≤-≤-≤-
记录所得数据并且继续进行操作直至无法再产生合理的捆绑组合。
最终这一环节所得捆数即为 123···Y y y y =+++
规格二: