数学建模社区-数学中国

标题: lingo报错,求大神指导! [打印本页]

作者: 305and    时间: 2012-11-14 16:14
标题: lingo报错,求大神指导!
model:
sets:
at/a1..a3/:x;
bt/b1..b4/:s1,s2;
ct/c1..c3/:s3;
links(at,bt):r;
endsets
data:
s1=50,10,20,15;
s2=4,5,6,8;
enddata
min=@sum(at:x);
@sum(at:x)>=26;
@sum(bt:x)<=31;
@for(bt(i):@sum(ct(j):r(i,j)*x(j))>=s1(j));
@for(ct(j):@sum(bt(i):r(i,j)*s2(i))<=19);
@for(set3(J):@sum(set2(I):r(I,J)*s2(I))>=16);
end

代码如上,lingo报错如下:Index variables may not share names with other variables.
老是遇到这个问题,求大神指导如何修改代码?
作者: qlb061    时间: 2012-11-14 23:37
错误实在太多:
1. 约束@sum(bt:x)<=31中,属性x不属于集合bt,因此下表不能省略(并且会导致索引下表越界);
2. 最优一个约束@for(set3(J):@sum(set2(I):r(I,J)*s2(I))>=16)中集合set3,set2根本就没定义!
最后提醒一点,如果真想要别人帮你解答问题,请使用高级模式中,添加代码!
作者: qlb061    时间: 2012-11-14 23:37
错误实在太多:
1. 约束@sum(bt:x)<=31中,属性x不属于集合bt,因此下表不能省略(并且会导致索引下表越界);
2. 最优一个约束@for(set3(J):@sum(set2(I):r(I,J)*s2(I))>=16)中集合set3,set2根本就没定义!
最后提醒一点,如果真想要别人帮你解答问题,请使用
作者: madio    时间: 2012-11-27 17:13
帮你改了一个不出错的程序,但是可能和你需要的模型不一样!你自己对照看看
model:
sets:
at/a1..a3/:x;
bt/b1..b4/:s1,s2;
ct/c1..c3/:s3;
links(at,bt):r;
endsets
data:
s1=50,10,20,15;
s2=4,5,6,8;
enddata
min=@sum(at:x);
@sum(at(i):x(i))>=26;
@sum(bt(j):s1(j))<=31;
@for(bt(j):@sum(ct(i):r(i,j)*x(i))>=s1(j));
@for(ct(i):@sum(bt(j):r(i,j)*s2(i))<=19);
@for(bt(J):@sum(ct(I):r(I,J)*s2(I))>=16);
end
作者: 305and    时间: 2013-1-30 14:38
谢谢大神啊




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5