关于复合肥料的合理方案摘要本文解决的是复合肥料的合理生产及相关基础肥料的采购和存储问题,从而使得利润最大化。研究总利润和采购与加工方案适应不同的未来市场价格应如何变化。关键词:lingo,约束条件,目标函数,线性规划模型1.问题重述某复合肥料由几种基本肥料组合而成,基础肥料有5种,其中氮肥3种:N1,N2,N3,磷肥2种P1,P2,各种基础肥料由其它化工厂购进,未来半年中各种基础肥料的价格已知。对几种基础肥料加工,然后混合为复合肥。复合肥售价为2250元/吨。氮肥和磷肥在不同生产线加工,每个月最多可以加工磷肥200吨,氮肥250吨。加工过程没有重量损失,费用不考虑。每种基础肥料最多可以存储1000吨备用,存储费用为每吨每月75元。成品复合肥和加工过的基础肥料不能存储。对复合肥的杂质指标限制在3-6%个单位之间,假设杂质是线性混合的。各种基础肥料的杂质含量已知。现存有5种基础肥料每种500吨,要求在6月底仍然有这样多存货。研究总利润和采购与加工方案适应不同的未来市场价格应如何变化。考虑如下的价格变化方式:2月份基础磷肥价格上升x%,基础氮肥价格上升2x%;3月份基础磷肥上升2x%,基础氮肥上升4x%;其余月份保持这种线性的上升势头。对不同的值x(直到20),就方案的必要的变化及对利润的影响,作出全面计划。2.模型假设与符号说明2.1模型假设1)加工过程没有重量损失,费用不考虑;2)成品复合肥和加工过的基础肥料不能存储;3)加工过的全部基础肥料用作复合肥料;4)假设该工厂只生产复合肥料;5)肥料价格在月内不随天数而改变;6)假设杂质是线性混合的;7)复合肥生产的量不受价格变化的影响;8)不存在基础肥料供不应求的问题;9)购进新的基础肥料后先使用旧的基础肥料。2.2符号说明i未来一月、二月、三月、四月、五月、六月jP1,P2,N1,N2,N3x(ij)j种基础肥料i月的采购量y(ij)j种基础肥料i月用于加工生产复合肥料的量z基础肥料未来市场价格上升百分比,即原题中的xP0(ij)未来半年中各种基础肥料的价格w1未来半年内基础肥料的采购费用w2500吨的存货加上除去加工过所用剩余基础肥料的存储费用w3加工好的成品复合肥料的总价R最终实现的利润3.问题分析为使该厂利润最大化,我们从三个方面着手考虑:第一、基础肥料的采购;第二、除去加工所用,剩余基础肥料的存储;第三、成品复合肥料。利润的实现由成品复合肥料的总价减去基础肥料的采购费用及剩余基础肥料的存储费用得到。4.模型的建立与求解我们的目标是成本最低,即使得在满足约束条件的前提下,使不同价格的原料得到充分利用并合理搭配达到成本最低,以使最后的各单价与原料选取数量乘积最小。目标函数:R=w3-w1-w2分析:w1:未来半年内的各基础肥料的采购费用总额,构成元素——各月各种基础肥料的采购量分别乘以各自实际变化后的价格,然后求和。w1=6151ijx(i,j)*(1+z*0.01)*P0(i,j)w2:未来半年内,各个月份各种基础肥料的采购量减去加工量再加上500吨的存量的累计量的存储费用总额。w2=6151ij{【x(i,j)-y(i,j)+500】*75}w3:未来半年内,各月各种复合肥料的成品量*复合肥料的价格w3=6151ijy(i,j)*2250约束条件:1)每种基础肥料最多可以存储1000吨备用2)现存有5种基础肥料每种500吨,要求在6月底仍然有这样多存货3)复合肥的杂质指标限制在3-6%个单位之间4)每个月最多可以加工磷肥200吨,氮肥250吨利用lingo进行求解。5.模型的评价和改进5.1模型的评价:我们的模型完全建立在现有的数据基础上,由于时间紧迫,来不及去更多的试验数据来减少数据误差,并且对于现实情况中原料的价格变动考虑不全,因此降低了模型的实用性。但我们的数据都是来源于现实,必然对事件有一定的指导意义。5.2模型的改进:针对实际生活中不同农作物对不同元素的需求量可能会有偏差,使P1,P2,N1,N2,N3等的选取量在一定的变化范围内,从而使成本最低,得到最有效的复合肥,可以用线性规划的对偶性问题进行求解。5.3模型的推广:对于复合肥料生产问题研究是很有意义的。在市场经济物质生产和研发产品的生产活动中,解决用不同材料进行配比制成新物质的生产问题,使其达到优化配置,获得最大利润。附录:.用lingo求解输入的程序为:model:sets:jj/1..5/;ii/1..6/;link(ii,jj):x,y,P0;endsetsdata:P0=1650,1800,1950,1650,17251950,1950,1650,1350,17251650,2100,1950,1500,14251800,1650,1800,1800,18751500,1800,2250,1650,15751350,1500,2100,1200,2025;enddatamax=w3-w1-w2;w1=(x(1,1)*P0(1,1)+x(1,2)*P0(1,2)+x(1,3)*P0(1,3)+x(1,4)*P0(1,4)+x(1,5)*P0(1,5)+x(2,1)*(1+z*0.01)*P0(2,1)+x(2,2)*(1+z*0.01)*P0(2,2)+x(2,3)*(1+2*z*0.01)*P0(2,3)+x(2,4)*(1+2*z*0.01)*P0(2,4)+x(2,5)*(1+2*z*0.01)*P0(2,5)+x(3,1)*(1+2*z*0.01)*P0(3,1)+x(3,2)*(1+2*z*0.01)*P0(3,2)+x(3,3)*(1+4*z*0.01)*P0(3,3)+x(3,4)*(1+4*z*0.01)*P0(3,4)+x(3,5)*(1+4*z*0.01)*P0(3,5)+x(4,1)*(1+3*z*0.01)*P0(4,1)+x(4,2)*(1+3*z*0.01)*P0(4,2)+x(4,3)*(1+6*z*0.01)*P0(4,3)+x(4,4)*(1+6*z*0.01)*P0(4,4)+x(4,5)*(1+6*z*0.01)*P0(4,5)+x(5,1)*(1+4*z*0.01)*P0(6,1)+x(5,2)*(1+4*z*0.01)*P0(5,2)+x(5,3)*(1+8*z*0.01)*P0(5,3)+x(5,4)*(1+8*z*0.01)*P0(5,4)+x(5,5)*(1+8*z*0.01)*P0(5,5)+x(6,1)*(1+5*z*0.01)*P0(6,1)+x(6,2)*(1+5*z*0.01)*P0(6,2)+x(6,3)*(1+10*z*0.01)*P0(6,3)+x(6,4)*(1+10*z*0.01)*P0(6,4)+x(6,5)*(1+10*z*0.01)*P0(6,5));w2=@sum(jj(j):(x(1,j)-y(1,j)+500)+(x(1,j)-y(1,j)+500+x(2,j)-y(2,j))+(x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j))+(x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j)+x(4,j)-y(4,j))+(x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j)+x(4,j)-y(4,j)+x(5,j)-y(5,j))+(x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j)+x(4,j)-y(4,j)+x(5,j)-y(5,j)+x(6,j)-y(6,j))*75);w3=@sum(ii(i):(y(i,1)+y(i,2)+y(i,3)+y(i,4)+y(i,5))*2250);@for(jj(j):x(1,j)-y(1,j)+500=1000);@for(jj(j):x(1,j)-y(1,j)+500+x(2,j)-y(2,j)=1000);@for(jj(j):x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j)=1000);@for(jj(j):x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j)+x(4,j)-y(4,j)=1000);@for(jj(j):x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j)+x(4,j)-y(4,j)+x(5,j)-y(5,j)=1000);@for(jj(j):x(1,j)-y(1,j)+500+x(2,j)-y(2,j)+x(3,j)-y(3,j)+x(4,j)-y(4,j)+x(5,j)-y(5,j)+x(6,j)-y(6,j)=1000);@for(ii(i):y(i,1)+y(i,2)=200);@for(ii(i):y(i,3)+y(i,4)+y(i,5)=250);@for(ii(i):(y(i,1)*8.8/100+y(i,2)*6.1/100+y(i,3)*2.0/100+y(i,4)*4.2/100+y(i,5)*5.0/100)/(y(i,1)+y(i,2)+y(i,3)+y(i,4)+y(i,5))=6/100);@for(ii(i):(y(i,1)*8.8/100+y(i,2)*6.1/100+y(i,3)*2.0/100+y(i,4)*4.2/100+y(i,5)*5.0/100)/(y(i,1)+y(i,2)+y(i,3)+y(i,4)+y(i,5))=3/100);z=10;end程序运行结果如下:Localoptimalsolutionfound.Objectivevalue:5927000.Totalsolveriterations:42VariableValueReducedCostW36075000.0.000000W1148000.00.000000W20.00000017.00000Z0.00000014800.00X(1,1)0.000000370.0000X(1,2)0.000000520.0000X(1,3)0.000000670.0000X(1,4)0.000000370.0000X(1,5)0.000000445.0000X(2,1)0.000000686.0000X(2,2)0.000000686.0000X(2,3)0.000000386.0000X(2,4)0.00000086.00000X(2,5)0.000000461.0000X(3,1)0.000000402.0000X(3,2)0.000000852.0000X(3,3)0.000000702.0000X(3,4)0.000000252.0000X(3,5)0.000000177.0000X(4,1)0.000000568.0000X(4,2)0.000000418.0000X(4,3)0.000000568.0000X(4,4)0.000000568.0000X(4,5)0.000000643.0000X(5,1)0.000000134.0000X(5,2)0.000000584.0000X(5,3)0.0000001034.000X(5,4)0.000000434.0000X(5,5)0.000000359.0000X(6,1)0.000000150.0000X(6,2)0.000000300.0000X(6,3)0.000000900.0000X(6,4)123.33330.000000X(6,5)0.000000825.0000Y(1,1)86.745120.000000Y(1,2)113.25490.000000Y(1,3)96.429220.000000Y(1,4)82.330600.000000Y(1,5)71.240180.000000Y(2,1)87.197380.000000Y(2,2)112.80260.0