复合肥料生产
本帖最后由 401798300 于 2010-8-15 18:31 编辑复合肥料生产某复合肥料由几种基本肥料组合而成,基础肥料有5种,其中氮肥3种:N1,N2,N3,磷肥2种P1,P2,各种基础肥料由其它化工厂购进,未来半年中各种基础肥料的价格如下:
月份\肥料
P1
P2
N1
N2
N3
一
1650
1800
1950
1650
1725
二
1950
1950
1650
1350
1725
三
1650
2100
1950
1500
1425
四
1800
1650
1800
1800
1875
五
1500
1800
2250
1650
1575
六
1350
1500
2100
1200
2025
对几种基础肥料加工,然后混合为复合肥。复合肥售价为2250元/吨。氮肥和磷肥在不同生产线加工,每个月最多可以加工磷肥200吨,氮肥250吨。加工过程没有重量损失,费用不考虑。每种基础肥料最多可以存储1000吨备用,存储费用为每吨每月75元。成品复合肥和加工过的基础肥料不能存储。对复合肥的杂质指标限制在3-6%个单位之间,假设杂质是线性混合的。各种基础肥料的杂质含量见下表
基础肥料
P1
P2
n1
N2
N3
杂质(%)
8.8
6.1
2.0
4.2
5.0
为使公司获得最大利润,应采取什么样的采购和加工方案。现存有5种基础肥料每种500吨,要求在6月底仍然有这样多存货。model:
title:复合肥料的生产
sets:
month/m1..m6/:;
muck/n1..n5/:a,q;
links(month,muck):c,x,p;
endsets
max=@sum(month(i):2050*@sum(muck(j):c(i,j)))-@sum(links:p(i,j)*x(i,j))-75*@sum(links:500+x(1,j)-c(1,j))-75*@sum(links:500+x(2,j)-c(2,j)+x(1,j)-c(1,j))-75*@sum(links:500+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j))-75*@sum(links:500+x(4,j)-c(4,j)+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j))-75*@sum(links:500+x(5,j)-c(5,j)+x(4,j)-c(4,j)+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j))+@sum(links:x(6,j)-c(6,j)+500+x(5,j)-c(5,j)+x(4,j)-c(4,j)+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j));
@for(links:x(i,1)+x(i,2)<=200);
@for(links:x(i,3)+x(i,4)+x(i,5)<=250);
@for(links:500+x(1,j)-c(1,j)<=1000);
@for(links:500+x(2,j)-c(2,j)+x(1,j)-c(1,j)<=1000);
@for(links:500+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j)<=1000);
@for(muck(j):500+x(4,j)-c(4,j)+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j)<=1000);
@for(muck(j):500+x(5,j)-c(5,j)+x(4,j)-c(4,j)+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j)<=1000);
@for(muck(j):500+x(6,j)-c(6,j)+x(5,j)-c(5,j)+x(4,j)-c(4,j)+x(3,j)-c(3,j)+x(2,j)-c(2,j)+x(1,j)-c(1,j)<=1000);
@for(month(i):c(i,1)/c(i,2)=a(1)/a(2));
@for(month(i):c(i,1)/c(i,3)=a(1)/a(3));
@for(month(i):c(i,1)/c(i,4)=a(1)/a(4));
@for(month(i):c(i,1)/c(i,5)=a(1)/a(5));
@sum(muck(j):a(j))=1;
@for(month(i):@bnd(3,@sum(muck(j):a(j)*q(j)*c(i,j)),6));
@sum(links:x(i,j))=@sum(links:c(i,j));
data:
q=8.8 6.1 2.0 4.2 5.0;
p=1650,1800,1950,1650,1725
1950,1950,1650,1350,1725
1650,2100,1950,1500,1425
1800,1650,1800,1800,1875
1500,1800,2250,1650,1575
1350,1500,2100,1200,2025
enddata;
end
这是我编的程序,但不知道为什么不行?哪位高手帮我看一下?
我回不抢呢 考虑再三 还是不抢了吧 ^_^ 留个脚印``````` 顶顶更健康,越顶吃的越香。 哦~~ 哦~~ 我要把这个帖子一直往上顶,往上顶! 强烈支持。楼主万岁 鉴定完毕! 哦~~