1、天然肠衣搭配模型的优化摘要天然肠衣制作加工是我国的一个传统产业,出口量占世界首位,而天然肠衣传统的生产方式已不能满足出口量日益增长的需要。因此,我们从节约生产成本、提高企业生产效率的角度出发,保证生产成品捆数较多、原料的使用率较高和成品质量相对较好的产品。本文针对天然肠衣搭配问题进行分析并建模,使用 LINGO 数学软件对数据进行最优化分析,解决天然肠衣的搭配问题。首先,关于线性规划模型中的决策变量我们要有一定的理解,对于天然肠衣的搭配问题,其决策变量的取值为整数时才有意义,因此解决天然肠衣的搭配问题时会用到整数规划模型。其次,对原料描述表中的数据进行分析并整理,建立数学规划模型,再把数据用
2、LINGO 量化分析。最后,我们根据原料的供给量、长度及成品规格等约束条件,关于要求装出的成品捆数越多越好及成品捆数相同取最短长度最长的成品越多越好,对于 20根一捆、8 根一捆、5 根一捆,我们制定了以下方案及按总长度和总根数不变的搭配方案;总根数不变,总长度上调的搭配方案;总根数不变,总长度下调的搭配方案;总长度不变,总根数下调的搭配方案;总长度上调,总根数下调的搭配方案;总长度和总根数都下调的搭配方案,分别对 20 根一捆、8 根一捆、5 根一捆的最优搭配建立模型并求解。再对上述 20 根一捆、8 根一捆、5 根一捆的最优的基础上,再从整体上建立模型最优模型并求解。关键词:数学规划模型,
3、整数规划,搭配问题,最优化,LINGO 软件一、 问提重述某公司将经过清洗整理后被分割成长度不等的小段的肠衣原料按照规格要求进行组装生产。传统的生产方式是依靠人工,边丈量原料长度边心算,江原材料按指定跟数和总长度组装出成品。今为提高生产效率,公司计划改变组装工艺,新丈量所有原料,建立原料表,表二为谋批次原料描述。现需设计一个原料搭配方案,工人根据这个方案“照方抓药 进行生产。公司对搭配方案有以下具体要求:(1) 对于给定的一批原料,装出的成品捆数越多越好;(2) 对于成品捆数相同的方案,最短长度最长的成品越多,方案越好;(3) 为提高原料的使用率,总长度允许有 米的误差,总根数允许比0.5标准
4、少 1 根;(4) 某种规格对应原料如果出现剩余,可降级使用。如长度为 14 米的原料可以和长度介于 7-13.5 米的进行捆扎,成品属于 7-13.5 米规格;(5) 为了食品保鲜,要求在 30 分钟内产生方案。请建立上述问题的数学模型,给出求解方法,并对表一、表二给出的实际数据进行求解,给出搭配方案。表1 成品规格表最短长度 最大长度 根数 总长度3 6.5 20 897 13.5 8 8914 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长度
5、 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二、 模型假设1.在加工肠衣
6、时工人正常工作,原料被正确的按规格分配。2.生产的肠衣成品有三种规格,不同规格的肠衣分配到不同的车间加工。3.不考虑因操作不当而引起的肠衣损坏。4.原料按长度分档,以 0.5 米为一档,如 3-3.4 米按 3 米计算,依此类推。5. 假设在设计方案中,组装时优先考虑每种规格的肠衣独自组装,之后再将每种规格所剩的肠衣降级进行组装。三、问题分析由题意可知,目的就是为了建立一种或多种模型,通过计算,按照成品规格表,获得原料的一种最佳搭配方案而使工人能够根据这个方案“按方抓药”进行生产。先分析如下:1、题中给出两个参考的表格:一个是某批次的原料表格,一个是成品所需要达到要求的规格参数。(1) 原料表
7、格里面有很多不同区间长度和根数,这是给定的。按最小值计算长度,而实际的长度越大越好,譬如 3.5-3.9 米长的区段,计算时按3.5 米计算,而实际长度为 3.9 方案最好。(2) 成品表格里格给定了“根数”和“总长度” ,这两个数是固定的。2.两个表格的关系是:这批次的原料按照成品表格里面指定的“根数”和“总长度”组装成“捆” 。所组装成品的最优方案是:a、装出来的捆数越多,方案越好;b、切每捆里面单根肠衣在选择时在一个区段里面越长的根数越多越好;c、原料表格里面的材料出现剩余时,可降级使用,不浪费,按降级后的区段计算长度。3、按照成品规格表,有 20 根一捆,8 根一捆和 5 根一捆,三种
8、捆类划分。长度 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 14、模型公式:20 根一捆的:设为 A 捆3 米到 6.5 米之间有 8 个可供选择的长度区段,从这 8 个长度区段里面任意选择,满足两个条件,即总根数为 20 根,总长为 89 米即可。8 个长度区段里面分别选用的根数设为: 、 、 、 、 、 、
9、、1x234x567x8即满足: 123456783.5.9xx1234567820, ,10x209xA 的数量是通过 、 、 、 、 、 、 、 随机组合,满足上面公式的1234x567x8组合数量,且它们在各自的取值范围内,每使用一次,数量减少 1,剩余的数量可降级使用。8 根为一捆的:设为 B 捆同上,713.5 米之间的有 14 个长度区段,总根数为 8 根,总长为 89 米14 个区段里面分别选用的根数为:、 、 、 、 、 、 、 、 、 、 、 、 、1y234y567y8910y12y314y即满足: 123456789101123147.58.9.00 .589yyyy12
10、345678902314y5 根一捆的:设为 C 捆同上,1426 米之间有 24 个长度区段即满足:最后,实现 A+B+C 最大值和第 2 条的最优方案目的四、符号说明: 可以组装成规格为 米的成品在第 个长度区段选用的原料根数ix36.5:i1,2.8i: 表示各区段原料数量的值ia:可 以组装成规格为 米的成品在第 个长度区段选用的原jy1,23.8i713.5:j料根数 ,2.4j: 表示各区段原料数量的值jb1,23.4j:可以组装成规格为 米的成品在第 个长度区段选用的原料根数kz1426:k1,23.4: 表示各区段原料数量的值kc1,23.4:成品规格为捆成 20 根一捆的肠衣
11、成品捆数X:成品规格为捆成 8 根一捆的肠衣捆数Y:成品规格为捆成 5 根一捆的肠衣成品捆数Z:不同成品规格装出的成品捆数 ir 1,23i五、模型的建立与求解1.模型一的建立1.建立成品规格为 20 根一捆的肠衣成品捆数的整数规划模型决策变量: 决策目标:(1,2.8)ixmaxiX原料长度的约束: 895.65.5.45.376321 xxxx各原料被选用数量的约束: 8120ix各原料数量的约束: 0(1,2.8)iixa最后,在满足上述的约束条件下,建立规划模型:maxiX1234567883.5.59.0iiixxxsta2.模型二的建立2.建立成品规格为 8 根一捆的肠衣成品捆数的
12、整数模型 决策变量: 决策目标: (1,23.,4)jymaxjYy原料长度的约束: 2345678910112314758.9.0.51.yyy各原料被选用数量的约束: 148jy各原料数量的约束:0(1,23.4)jjyb最后,在满足上述的约束条件下,建立规划模型: maxjYy1234567890112314417.58.9.0.51.(,.4)jjjy yyyystb 3.模型三的建立3. 建立成品规格为 5 根一捆的肠衣成品捆数的整数规划决策变量: 决策目标(1,23.,4)kzmaxkZz原料长度的约束:12345678901123145167189023244.5.802.53.
13、zzzzz各原料备选用时数量的约束:2415kz各原料数量的约束:0(1,23.4)kzc最后,在满足上述的约束条件下,建立规划模型 maxkZz1234567890112314516718902324241.5.802.5.3.0(,23.4)kzzzzzstzc4.模型四的建立 不同成品捆数的最大值(求解见附录程序四)123Maxr5.模型五的建立总成品捆数的最大值 axXYZ(求解见附录程序五)193Max6.模型的求解将上述建立的整体线性规划模型用 LINGO 软件进行求解(1) 模型一的求解(求解见附录程序一).当总长度和总根数不变时的搭配方案有a表 3 各原料的搭配原料 x1 x2
14、 x3 x4 x5 x6 x7 x8根数 1 10 2 0 1 0 2 4.当总根数不变,总长度上调时的搭配方案有b表 4 各原料的搭配原料 x1 x2 x3 x4 x5 x6 x7 x8根数 2 11 0 0 0 0 1 6.当总根数不变,总长度下调时的搭配方案有c表 5 各原料的搭配原料 x1 x2 x3 x4 x5 x6 x7 x8根数 0 13 0 0 0 2 1 4.当总长度不变,总根数下调时的搭配方案有d表 6 各原料的搭配原料 x1 x2 x3 x4 x5 x6 x7 x8根数 2 9 0 0 0 0 1 7.当总长度上调,总根数下调时的搭配方案有e表 7 各原料的搭配原料 x1
15、 x2 x3 x4 x5 x6 x7 x8根数 1 10 0 0 0 0 1 7.当总长度和总根数都下调时的搭配方案有f表 8 各原料的搭配原料 x1 x2 x3 x4 x5 x6 x7 x8根数 1 8 2 0 1 0 2 5(2 ) 模型二的求解(求解见附录程序二)表 9 各原料的搭配原料 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14根数 0 0 0 1 0 0 4 0 0 0 2 1 0(3) 模型三的求解(求解见附录三)表 10 各原料的搭配原料 z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12根数 0 1 2
16、 0 0 0 0 0 0 0 1 0原料 z13 z14 z15 z16 z17 z18 z19 z20 z21 z22 z23 z24根数 0 0 0 0 0 0 0 0 0 0 0 1六、模型的讨论在应用线性规划模型中的整数规划模型来求解天然肠衣搭配最优的过程中,我们主要应用 LINGO 软件进行数据分析和处理并且取得最优解。在取得最优解的过程中我们分别对取得的根数分三种规格进行处理;对每捆肠衣的总长度进行了限制;对每一小段中所取肠衣根数进行要求。但在实际的操作中总会有误差的存在,我们只有将误差最小化来接近最优解。七、模型的检验由于整数线性规划模型的建立难度比较大,其中是数据的处理肯定与实
17、际生活中产生的数据值有一定的误差。但我们对其模型进行相关的处理和假设,所以误差不是很大。故模型具有较强的实用性。八、模型的评价与改进本文用了整数规划模型,使问题的思路清晰明了,因所需设计的搭配方案与实际生活中的不确定因素相关所以我们忽略这些因素的影响,因此此模型存在一定的误差。我们应多角度的考虑各种因素对模型的影响,从而减小误差。参考文献1运筹学清华大学出版社2谢金星、薛毅.优化建模与 LINDO 软件M.北京:清华大学出版社,2005 附录LINGO程序程序一 求规格为 20 根一捆的成品的搭配方案程序1.1 总长度和总根数不变的搭配方案程序model:3*x1+3.5*x2+4*x3+4.
18、5*x4+5*x5+5.5*x6+6*x7+6.5*x8=89;x1+x2+x3+x4+x5+x6+x7+x8=20;x10;x10;x20;x30;x40;x50;x60;x70;x80;x10;x20;x30;x40;x50;x60;x70;x80;x10;x20;x30;x40;x50;x60;x70;x80;x10;x20;x30;x40;x50;x60;x70;x80;x10;x20;x30;x40;x50;x60;x70;x80;x10;x20;x30;x40;x50;x60;x70;x80;y10;y20;y30;y40;y50;y60;y70;y80;y90;y100;y110
19、;y120;y130;y14o;z10;z20;z30;z40;z50;z60;z70;z80;z90;z100;z110;z120;z130;z140;z150;z160;z170;z180;Z200;z240;x20;x30;x40;x50;x6o;x70;x80;x10;y20;y30;y40;y50;y60;y70;y80;y90;y100;y110;y120;y130;y140;y10;z20;z30;z40;z50;z60;z70;z80;z90;z100;z110;z120;z130;z140;z150;z160;z170;z180;z19=0;z200;z21=0;z22=0;
20、z23=0;z240;z10;x20;x30;x40;x50;x6o;x70;x80;x10;y20;y30;y40;y50;y60;y70;y80;y90;y100;y110;y120;y130;y140;y10;z20;z30;z40;z50;z60;z70;z80;z90;z100;z110;z120;z130;z140;z150;z160;z170;z180;z190;z200;z1=35;z2=29;z3=30;z4=42;z5=28;z6=42;z7=45;z8=49;z9=50;z10=64;z11=52;z12=63;z13=49;z14=35;z15=27;z16=16;z1
21、7=12;z18=2;z19=6;z20=1;gin(x1);gin(x2);gin(x3);gin(x4);gin(x5);gin(x6);gin(x7);gin(x8);gin(y1);gin(y2);gin(y3);gin(y4);gin(y5);gin(y6);gin(y7);gin(y8);gin(y9);gin(y10);gin(y11);gin(y12);gin(y13);gin(y14);gin(z1);gin(z2);gin(z3);gin(z4);gin(z5);gin(z6);gin(z7);gin(z8);gin(z9);gin(z10);gin(z11);gin(z1
22、2);gin(z13);gin(z14);gin(z15);gin(z16);gin(z17);gin(z18);gin(z19);gin(z20);gin(x);gin(y);gin(z);Global optimal solution found.Objective value: 193.0000Objective bound: 193.0000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 87Variable Value Reduced CostX 14.00000 -1.000000Y
23、 44.00000 -1.000000Z 135.0000 -1.000000X1 30.00000 0.000000X2 59.00000 0.000000X3 39.00000 0.000000X4 41.00000 0.000000X5 27.00000 0.000000X6 28.00000 0.000000X7 34.00000 0.000000X8 21.00000 0.000000Y1 21.00000 0.000000Y2 24.00000 0.000000Y3 20.00000 0.000000Y4 25.00000 0.000000Y5 21.00000 0.000000Y
24、6 23.00000 0.000000Y7 21.00000 0.000000Y8 18.00000 0.000000Y9 31.00000 0.000000Y10 23.00000 0.000000Y11 22.00000 0.000000Y12 59.00000 0.000000Y13 18.00000 0.000000Y14 25.00000 0.000000Z1 33.00000 0.000000Z2 29.00000 0.000000Z3 30.00000 0.000000Z4 42.00000 0.000000Z5 28.00000 0.000000Z6 42.00000 0.00
25、0000Z7 45.00000 0.000000Z8 49.00000 0.000000Z9 50.00000 0.000000Z10 64.00000 0.000000Z11 52.00000 0.000000Z12 63.00000 0.000000Z13 49.00000 0.000000Z14 35.00000 0.000000Z15 27.00000 0.000000Z16 16.00000 0.000000Z17 12.00000 0.000000Z18 2.000000 0.000000Z19 6.000000 0.000000Z20 1.000000 0.000000O 0.0
26、00000 0.000000Row Slack or Surplus Dual Price1 193.0000 1.0000002 2.000000 0.0000003 191.0000 0.0000004 13.00000 0.0000005 1.000000 0.0000006 43.00000 0.0000007 1.000000 0.0000008 135.0000 0.0000009 0.000000 0.00000010 30.00000 0.00000011 59.00000 0.00000012 39.00000 0.00000013 41.00000 0.00000014 27.00000 0.00000015 28.00000 0.00000016 34.00000 0.00000017 21.00000 0.00000018 13.00000 0.00000019 0.000000 0.00000020 0.000000 0.00000021 0.000000 0.00000022 0.000000 0.00000023 0.000000 0.00000024 0.000000 0.00000025 0.000000 0.00000026 21.00000 0.00000027 24.00000 0.000000