哪位大侠lingo较比强 帮我看下这段哪错了

来源:百度知道 编辑:UC知道 时间:2024/05/26 21:38:51
sets:
siliao/1..6/: price,sl;!定义个饲料价格,数量;
yangfen/1..5/:yfz,bfb ;!养分总量 百分比;
links(cl,yf): hanliang;!定义各饲料的养分含量;
endsets
!目标函数;
min=@sum(cl(i): price(i)*sl(i));!成本最低;
!需求约束;
zl=@sum(siliao(i): sl(i));!求出总量;
@for(yangfen(j):
yfzl(j)=@sum(siliao(i):hanliang(i,j)*sl(i)));
@for(yf(i):
bfb(i)=yfzl(i)/zl);

@bnd(0.21,bfb(1),0.4);!限定蛋白质;
@bnd(0.05,bfb(2),0.25);!限定纤维;
@bnd(0.034,bfb(3),0.1);!限定脂肪 ;
@bnd(0.01,bfb(4),0.015);!限定铁;
@bnd(0.0045,bfb(5),0.006);!限定钙;

!这里是数据;
data:
price=0.21 0.16 0.22 0.41 0.18 0.32;

hanliang=0.19 0.17 0.023 0.016 0.0007
0.082 0.022 0.036 0.0006 0.0022
0.11 0.076 0.017 0.0057 0.0012
0.048 0.09 0.072 0.048 0.027
0.115 0.119

名字太乱来了,自己定义了什么名就用什么名

sets:
cl/1..6/: price,sl;!定义个饲料价格,数量;
yf/1..5/:yfz,bfb ;!养分总量 百分比;
links(cl,yf): hanliang;!定义各饲料的养分含量;
endsets
!目标函数;
min=@sum(cl(i): price(i)*sl(i));!成本最低;
!需求约束;
zl=@sum(cl(i): sl(i));!求出总量;
@for(yf(j):
yfz(j)=@sum(cl(i):hanliang(i,j)*sl(i)));
@for(yf(i): bfb(i)=yfz(i)/zl);

@bnd(0.21,bfb(1),0.4);!限定蛋白质;
@bnd(0.05,bfb(2),0.25);!限定纤维;
@bnd(0.034,bfb(3),0.1);!限定脂肪 ;
@bnd(0.01,bfb(4),0.015);!限定铁;
@bnd(0.0045,bfb(5),0.006);!限定钙;

!这里是数据;
data:
price=0.21 0.16 0.22 0.41 0.18 0.32;

hanliang=0.19 0.17 0.023 0.016 0.0007
0.082 0.022 0.036 0.0006 0.0022
0.11 0.076 0.017 0.0057 0.0012
0.048 0.09 0.072 0.048 0.027
0.115 0.119 0.038 0.0009 0.0011
0.48 0.028 0.005 0.0019 0.0019;
enddata

end