帮我看看lingo程序有没问题。。。说是@for语句不当

有加分的(10分)
model:
sets:
liaochang/1,2/:x,y,e;
gongdi/1..6/:a,b,d;
links(liaochang,gongdi):c;
endsets

min= @sum(links:c(i,j)*((x(i)-a(j))^2+(y(i)-b(j))^2);

@for(gongdi(j):
@sum(liaochang(i):c(i,j))=d(j));

@for(liaochang(i):
@sum(gongdi(j):c(i,j))<e(i));

@for(liaochang(i):
@free(x);@free(y));

data:
a=1.25 8.75 0.5 5.75 3 7.25;
b=1.25 0.75 4.75 5 6.5 7.75;
d=3 5 4 7 6 11;
e=20 20;
enddata

end

哪里有悬赏分啊?????
是你的逻辑错误:工地与料场直接的关系不准确?
之前出现的@for问题是因为你上面少了一个括号!所以就出现@for,修改了括号就出现逻辑问题了!!!
直接修改:
model:
sets:
gongdi/1..6/:a,b,d;
liaochang/1..2/:x,y,e;
link(gongdi,liaochang):c;
endsets
data:
a=1.25 8.75 0.5 5.75 3 7.25;
b=1.25 0.75 4.75 5 6.5 7.75;
d=3 5 4 7 6 11;
e=20 20;
enddata
min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));
@for(gongdi(i):@sum(liaochang(j):c(i,j))=d(i););
@for(liaochang(i):@sum(gongdi(j):c(j,i))<=e(i););
@for(liaochang:@free(x);@free(y););
end
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-12
我想错误可能出在你程序中的d(j)。。。。因为我也正面临着和你差不多的问题。。。
相似回答