肠衣制作问题
每次都是查看大量资料,最后没办法自己列出来公式,自己算,然后发现比网上的种类还要多。
摘要
本文主要讨论的是肠衣制作加工问题,该题是以天然肠衣为背景,对其搭配问题进行探讨和研究,因为肠衣本身是不可随便进行切割的,只能按照给出的规格安排生产,通过对成品规格表和原料描述表的数据进行分析,分别以最大捆数、最优方案、降级利用、时间限制四个方面为目标和约束条件建立最优模型,利用LINGO,得到符合实际问题的最优方案。
首先,根据题目中给出的成品规格表和原料描述表,建立线性规划模型,利用LINGO,分析得出目标函数的最优解188捆,其中3—6.5的产品为14捆,7—13.5的产品为34捆,14—25.5的产品为138捆,从结果中我们可以看出材料有剩余。
其次,对剩余的材料降级使用,继续利用线性规划模型,利用LINGO进行求解,结果为2捆。
最后,综合以上两个模型,最后的结果为两次生产之和,共188捆。
具体为:
第3规格最大捆数总捆数138,出9种分配方式,并且把剩余材料降级至6.5米档使用。
第2规格最大捆数总捆数34,出3种分配方式,剩余根材料降级为6.5米档使用。
第1规格最大捆数总捆数16,出4种分配方式。
最后,得出最终捆数为16+34+138=188(捆),该lingo程序能在30分钟内产生。
关键字:线性规划 降级使用 搭配方案 最优模型
- 问题重述
天然肠衣(以下简称肠衣)制作加工是我国的一个传统产业,出口量占世界首位。肠衣经过清洗整理后被分割成长度不等的小段(原料),进入组装工序。传统的生产方式依靠人工,边丈量原料长度边心算,将原材料按指定根数和总长度组装出成品(捆)。
原料按长度分档,通常以0.5米为一档,如:3-3.4米按3米计算,3.5米-3.9米按3.5米计算,其余的依此类推。表1是几种常见成品的规格,长度单位为米,∞表示没有上限,但实际长度小于26米。
表1 成品规格表
最短长度 | 最大长度 | 根数 | 总长度 |
3 | 6.5 | 20 | 89 |
7 | 13.5 | 8 | 89 |
14 | ∞ | 5 | 89 |
表2 原料描述表
长度 | 3-3.4 | 3.5-3.9 | 4-4.4 | 4.5-4.9 | 5-5.4 | 5.5-5.9 | 6-6.4 | 6.5-6.9 |
根数 | 43 | 59 | 39 | 41 | 27 | 28 | 34 | 21 |
长度 | 7-7.4 | 7.5-7.9 | 8-8.4 | 8.5-8.9 | 9-9.4 | 9.5-9.9 | 10-10.4 | 10.5-10.9 |
根数 | 24 | 24 | 20 | 25 | 21 | 23 | 21 | 18 |
长度 | 11-11.4 | 11.5-11.9 | 12-12.4 | 12.5-12.9 | 13-13.4 | 13.5-13.9 | 14-14.4 | 14.5-14.9 |
根数 | 31 | 23 | 22 | 59 | 18 | 25 | 35 | 29 |
长度 | 15-15.4 | 15.5-15.9 | 16-16.4 | 16.5-16.9 | 17-17.4 | 17.5-17.9 | 18-18.4 | 18.5-18.9 |
根数 | 30 | 42 | 28 | 42 | 45 | 49 | 50 | 64 |
长度 | 19-19.4 | 19.5-19.9 | 20-20.4 | 20.5-20.9 | 21-21.4 | 21.5-21.9 | 22-22.4 | 22.5-22.9 |
根数 | 52 | 63 | 49 | 35 | 27 | 16 | 12 | 2 |
长度 | 23-23.4 | 23.5-23.9 | 24-24.4 | 24.5-24.9 | 25-25.4 | 25.5-25.9 |
|
|
根数 | 0 | 6 | 0 | 0 | 0 | 1 |
|
|
根据以上成品和原料描述,设计一个原料搭配方案,工人根据这个方案“照方抓药”进
行生产。
公司对搭配方案有以下具体要求:
(1) 对于给定的一批原料,装出的成品捆数越多越好;
(2) 对于成品捆数相同的方案,最短长度最长的成品越多,方案越好;
(3) 为提高原料使用率,总长度允许有± 0.5米的误差,总根数允许比标准少1根; (4) 某种规格对应原料如果出现剩余,可以降级使用。如长度为14米的原料可以和长
度介于7-13.5米的进行捆扎,成品属于7-13.5米的规格;
(5) 为了食品保鲜,要求在30分钟内产生方案。
请建立上述问题的数学模型,给出求解方法,并对表1、表2给出的实际数据进行求解,给出搭配方案。
二:模型假设
(1) 假设在整理分配天然肠衣过程中不出现损坏情况。
(2) 假设接口处长度忽略不计
(3) 降级使用的原料不出现分割错误等问题
(4) 三种成品规格是固定的
(5) 为了食品保鲜,要求在30分钟内产生方案
该模型建立在一起理想化条件上,忽略外界因素对模型的影响
三:问题分析
3.1 问题背景分析
该题以肠衣制作加工为背景,由题意可知,规定的档次不同,规格也不一样,目的为建立一种模型,通过计算,生成经过优化后满足成品规模要求的搭配方法,以达到减少劳动强度、提高生产效率的目的。
3.2问题数据分析
根据成品规格表,把成品规格分为第1规格,第2规格,第3规格三类。原料按长度分档,通常以0.5米为一档,如:3-3.4米按3米计算,3.5米-3.9米按3.5米计算,其余的依此类推,共46个档。
3.3问题要求分析
题目要求装出的成品捆数越多越好,且每种规格需要满足表中的根数约束,总长度约束,各区间总根数约束及整数约束。先从大规格开始分析并且优先选择最长肠衣充分搭配,使剩余原料长度接近下一档的最长肠衣长度。求出最大捆数和每一规格在最大捆数下使用的具体根数。如果出现了剩余原料,则考虑降级使用。
在优化过程中考虑到提高原料利用率,约束条件为总长度允许有±0.5米的误差,总根数允许比标准少1根。运用线性规划,以捆数最大为目标方案进行优化。最后,在确定了最大捆数的具体根数情况下,就每规格的具体搭配建立通用搭配模型,分别就三种规格具体数据,利用软件编程,求出三种规格成品各个搭配方案。
四、模型建立与求解
4.1 第3规格:
第3规格的材料为14-26米,所取根数范围为[4,5],并且所取总长度范围 [88.5,89.5]。
设值 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 | x11 | x12 |
档类 | 14 | 14.5 | 15 | 15.5 | 16 | 16.5 | 17 | 17.5 | 18 | 18.5 | 19 | 19.5 |
数量 | 35 | 29 | 30 | 42 | 28 | 42 | 45 | 49 | 50 | 64 | 52 | 63 |
设值 | x13 | x14 | x15 | x16 | x17 | x18 | x19 | x20 |
|
|
|
|
档类 | 20 | 20.5 | 21 | 21.5 | 22 | 22.5 | 23.5 | 25.5 |
|
|
|
|
数量 | 49 | 35 | 27 | 16 | 12 | 2 | 6 | 1 |
|
|
|
|
分析:(1)由已知条件1可知,生成的成品数越多越好,建立相关的函数:
(2)由条件3知,为提高原料使用率,总长度允许有±0.5米的误差,总根数允许比标准少1 根,建立相应的约束条件:
(3)由条件4知,如果某种规格对应原料出现剩余,可以降级使用:
(4)xi (i=1,2,…,20)分别代表相应的档类,x 代表捆数,用lingo软件进行优化求解,求得局部最优解,得到相应的结果,总捆数为138捆,9种分配方案,以及最终剩余数量:
[max=x;
x*(14*x1+14.5*x2+15*x3+15.5*x4+16*x5+16.5*x6+17*x7+17.5*x8+18*x9+18.5*x10+19*x11+19.5*x12+20*x13+20.5*x14+21*x15+21.5*x16+22*x17+22.5*x18+23.5*x19+25.5*x20)<=12160;
14*x1+14.5*x2+15*x3+15.5*x4+16*x5+16.5*x6+17*x7+17.5*x8+18*x9+18.5*x10+19*x11+19.5*x12+20*x13+20.5*x14+21*x15+21.5*x16+22*x17+22.5*x18+23.5*x19+25.5*x20<=89.5;
14*x1+14.5*x2+15*x3+15.5*x4+16*x5+16.5*x6+17*x7+17.5*x8+18*x9+18.5*x10+19*x11+19.5*x12+20*x13+20.5*x14+21*x15+21.5*x16+22*x17+22.5*x18+23.5*x19+25.5*x20>=88.5;
x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16+x17+x18+x19+x20<=5;
x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16+x17+x18+x19+x20>=4;
x1*x<=35;
x2*x<=29;
x3*x<=30;
x4*x<=42;
x5*x<=28;
x6*x<=42;
x7*x<=45;
x8*x<=49;
x9*x<=50;
x10*x<=64;
x11*x<=52;
x12*x<=63;
x13*x<=49;
x14*x<=35;
x15*x<=27;
x16*x<=16;
x17*x<=12;
x18*x<=2;
x19*x<=6;
x20*x<=1;]
捆数 | 方案 | 14 | 14.5 | 15 | 15. 5 | 16 | 16. 5 | 17 | 17. 5 | 18 | 18. 5 | 1 9 | 19. 5 | 20 | 20. 5 | 21 | 21 .5 | 22 | 22. 5 | 23.5 | 25.5 |
42 | 1 |
|
|
| 1 |
|
| 1 | 1 |
|
| 1 | 1 |
|
|
|
|
|
|
|
|
35 | 2 |
|
|
|
|
| 1 |
|
| 1 |
|
|
| 1 | 1 |
|
|
|
|
|
|
27 | 3 |
|
|
| 1 |
| 1 |
|
|
|
| 2 |
|
|
|
| 1 |
|
|
|
|
14 | 4 | 1 | 1 |
|
|
|
|
|
|
|
|
| 1 |
|
| 1 | 1 |
|
|
|
|
7 | 5 | 1 |
|
|
|
|
|
| 1 |
| 1 | 1 | 1 |
|
|
|
|
|
|
|
|
6 | 6 |
| 2 |
|
|
| 1 |
|
|
|
|
|
|
|
|
|
| 2 |
|
|
|
3 | 7 | 1 | 1 |
|
|
|
|
|
| 1 | 1 |
|
|
|
|
|
|
|
| 1 |
|
3 | 8 | 1 |
| 1 |
|
|
|
|
| 2 |
|
|
|
|
|
|
|
|
| 1 |
|
1 | 9 | 1 |
|
|
|
| 1 |
|
| 1 |
| 1 |
|
|
|
| 1 |
|
|
|
|
档类 | 14 | 14.5 | 15 | 15.5 | 16 | 16.5 | 17 | 17.5 | 18 | 18.5 | 19 | 19.5 |
数量 | 35 | 29 | 30 | 42 | 28 | 42 | 45 | 49 | 50 | 64 | 52 | 63 |
最终剩余 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
档类 | 20 | 20.5 | 21 | 21.5 | 22 | 22.5 | 23.5 | 25.5 |
|
|
|
|
数量 | 49 | 35 | 27 | 16 | 12 | 2 | 6 | 1 |
|
|
|
|
最终剩余 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
|
|
4.2 第2规格:
第2规格的材料为7-13.5米,所取根数范围为[7,8],并且所取总长度范围 [88.5,89.5]。
设值 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 | x11 | x12 | x13 | x14 |
档类 | 7 | 7.5 | 8 | 8.5 | 9 | 9.5 | 10 | 10.5 | 11 | 11.5 | 12 | 12.5 | 13 | 13.5 |
数量 | 24 | 24 | 20 | 25 | 21 | 23 | 21 | 18 | 31 | 23 | 22 | 59 | 18 | 25 |
分析:(1)由已知条件1可知,生成的成品数越多越好,建立相关的函数:
(2)由条件3知,为提高原料使用率,总长度允许有±0.5米的误差,总根数允许比标准少
1根,建立相应的约束条件:
(3)由条件4知,如果某种规格对应原料出现剩余,可以降级使用:
(4)xi (i=1,2,…,14)分别代表相应的档类,x 代表捆数,用lingo软件进行优化求解,求得局部最优解,得到相应的结果,总捆数为34捆,3种分配方案,以及最终剩余数量:
max=x;
x*(7*x1+7.5*x2+8*x3+8.5*x4+9*x5+9.5*x6+10*x7+10.5*x8+11*x9+11.5*x10+12*x11+12.5*x12+13*x13+13.5*x14)<=243.5;
7*x1+7.5*x2+8*x3+8.5*x4+9*x5+9.5*x6+10*x7+10.5*x8+11*x9+11.5*x10+12*x11+12.5*x12+13*x13+13.5*x14<=89.5;
7*x1+7.5*x2+8*x3+8.5*x4+9*x5+9.5*x6+10*x7+10.5*x8+11*x9+11.5*x10+12*x11+12.5*x12+13*x13+13.5*x14>=88.5;
x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14<=20;
x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14>=19;
x*x1<=24;
x*x2<=24;
x*x3<=20;
x*x4<=25;
x*x5<=21;
x*x6<=23;
x*x7<=21;
x*x8<=18;
x*x9<=31;
x*x10<=23;
x*x11<=22;
x*x12<=59;
x*x13<=18;
x*x14<=25;
捆数 | 方案 | 7 | 7.5 | 8 | 8.5 | 9 | 9.5 | 10 | 10.5 | 11 | 11.5 | 12 | 12.5 | 13 | 13.5 |
22 | 1 | 1 |
|
| 1 |
|
|
|
| 1 | 1 | 1 | 2 |
| 1 |
9 | 2 |
|
|
|
|
| 1 | 2 | 2 |
|
|
| 1 | 2 |
|
3 | 3 |
|
| 1 |
| 1 |
|
|
| 3 |
|
| 2 |
| 1 |
档类 | 7 | 7.5 | 8 | 8.5 | 9 | 9.5 | 10 | 10.5 | 11 | 11.5 | 12 | 12.5 | 13 | 13.5 |
数量 | 24 | 24 | 20 | 25 | 21 | 23 | 21 | 18 | 31 | 23 | 22 | 59 | 18 | 25 |
最终剩余 |
2 |
24 |
17 |
3 |
18 |
14 |
3 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
4.3 第1规格:
第1规格的材料为3-6.5米,所取根数范围为[19,20],并且所取总长度范围 [88.5,89.5]。
设值 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 |
档类 | 3 | 3.5 | 4 | 4.5 | 5 | 5.5 | 6 | 6.5 |
数量 | 43 | 59 | 39 | 41 | 27 | 28 | 34 | 21 |
分析:(1)由已知条件1可知,生成的成品数越多越好,建立相关的函数:
(2)由条件3知,为提高原料使用率,总长度允许有±0.5米的误差,总根数允许比标准少
1根,建立相应的约束条件:
(3)xi (i=1,2,…,8)分别代表相应的档类,x 代表捆数,用lingo软件进行优化求解,求得局部最优解,得到相应的结果,总捆数为14捆,2种分配方案,以及最终剩余数量:
max=x;
x*(3*x1+3.5*x2+4*x3+4.5*x4+5*x5+5.5*x6+6*x7+6.6*x8)<=1305.5;
3*x1+3.5*x2+4*x3+4.5*x4+5*x5+5.5*x6+6*x7+6.6*x8<=89.5;
3*x1+3.5*x2+4*x3+4.5*x4+5*x5+5.5*x6+6*x7+6.6*x8>=88.5;
x9*(x1+x2+x3+x4+x5+x6+x7+x8)<=292;
x1+x2+x3+x4+x5+x6+x7+x8<=20;
x1+x2+x3+x4+x5+x6+x7+x8>=19;
x1*x<=43;
x2*x<=59;
x3*x<=39;
x4*x<=41;
x5*x<=27;
x6*x<=28;
x7*x<=34;
x8*x<=107;
捆数 | 方案 | 3 | 3.5 | 4 | 4.5 | 5 | 5.5 | 6 | 6.5 |
3 | 1 | 3 | 2 | 2 | 5 | 1 | 2 |
| 4 |
11 | 2 | 3 | 4 | 3 | 2 | 2 | 2 | 3 | 1 |
档类 | 3 | 3.5 | 4 | 4.5 | 5 | 5.5 | 6 | 6.5 |
数量 | 43 | 59 | 39 | 41 | 27 | 28 | 34 | 21 |
最终 剩余 |
1 |
9 |
|
4 |
2 |
|
1 |
8 |
4.4 将第3规格剩余降为第2规格时,并不能生成相应的规格,即生成没有1捆。
4.5将第3规格,第2规格,第1规格的剩余原料混合降为第1规格时:
第1规格的材料为3-6.5米,所取根数范围为[19,20],并且所取总长度范围 [88.5,89.5]。
第1规格剩余:
设值 | x1 | x2 | x3 | x4 | x5 | x6 |
档类 | 3 | 3.5 | 4.5 | 5 | 6 | 6.5 |
数量 | 1 | 9 | 4 | 2 | 1 | 8 |
第2规格剩余:
档类 | 7 | 7.5 | 8 | 8.5 | 9 | 9.5 | 10 | 11.5 |
数量 | 2 | 24 | 17 | 3 | 18 | 14 | 3 | 1 |
第3规格剩余:
档类 | 16 | 17 | 19 |
数量 | 1 | 1 | 1 |
分析:(1)由已知条件1可知,生成的成品数越多越好,建立相关的函数:
(2)由条件3知,为提高原料使用率,总长度允许有±0.5米的误差,总根数允许比标准少
1根,建立相应的约束条件:
(3)由条件4知,某种规格对应原料如果出现剩余,可以降级使用。如长度为14米的原料可以和长度介于7-13.5米的进行捆扎,成品属于7-13.5米的规格
(4)xi (i=1,2,…,6)分别代表相应的档类,x 代表捆数,x7代表当前捆h的数值,x7的范围为3-6.5,h代表当前捆x7的值, 用lingo软件进行优化求解,逐层递减,求得局部最优解,得到相应的结果,总捆数为2捆,1种分配方案,以及最终剩余数量:
max=x;
x*(3*x1+3.5*x2+4.5*x3+5*x4+6*x5+6.5*x6+h*x7)<=243.5;
3*x1+3.5*x2+4.5*x3+5*x4+6*x5+6.5*x6+h*x7<=89.5;
3*x1+3.5*x2+4.5*x3+5*x4+6*x5+6.5*x6+h*x7>=88.5;
x1+x2+x3+x4+x5+x6+x7<=20;
x1+x2+x3+x4+x5+x6+x7>=19;
x*x1<=1;
x*x2<=1;
x*x3<=4;
x*x4<=2;
x*x5<=1;
x*x6<=4;
x*x7<=59;
捆数 | 方案 | 3 | 3.5 | 4 | 4.5 | 5 | 5.5 | 6 | 6.5 |
2 | 1 | 3 | 2 | 2 | 5 | 1 | 2 |
| 4 |
第1规格剩余:
档类 | 3 | 3.5 | 4.5 | 5 | 6 | 6.5 |
数量 | 1 | 9 | 4 | 2 | 1 | 8 |
最终 剩余 |
1 |
1 |
4 |
2 |
1 |
4 |
(5)分析可知,第1规格剩余由上图可知,第2规格,第3规格剩余59根,总长度剩余37.5米。
第3规格最大捆数总捆数138,出9种分配方式
第2规格最大捆数总捆数34,出3种分配方式
第1规格最大捆数总捆数16,出4种分配方式
得出最终捆数为16+34+138=188捆。
五:模型评评价与修正
我们所建立的模型通过对目标的最优化问题,使得多目标的规划问题转化为单目标线性
规划问题,所以能比较好的反映出各个目标函数的重要程度。而且模型在计算中作了一些舍入和取整,不可避免的产生了一些误差,但是这些误差的是可以容忍的。
优点:
(1)方案形式简单,所有的数据已表格形式呈现,易于操作和查看。
(2)方案直观显示各种配方的类型和所需数目,也可以准确得出剩余数目,
(3)提高了生产的速度,降低成本。
缺点:
(1)忽略原料损坏而使整个生产方案失效的情况。
(2)忽略了降级生产中材料分割错误等问题。
参考文献
[1]姜启源,谢金星,数学建模(第三版),北京:高等教育出版社,2003
[2]王广超,朱旭生,MATLAB与数学实验,北京:高等教育出版社,2010