数学建模社区-数学中国

标题: 【求助】29号错误! [打印本页]

作者: 丄課覺覺.    时间: 2012-12-25 16:32
标题: 【求助】29号错误!
model:
sets:
supply/p1..p12/:p;
demand/d1..d12/:d;
hub/h1..h5/:g,f;
tr/tr1..tr5/:z;
link1(supply,hub):c,w;
link2(hub,demand):h,x;
endsets
data:
p=75178 42603 36707 28838 28158 26031 21785 17587 17185 16143 13025 12976;
d=73948 40975 40578 31298 26713 25805 20192 18010 17068 15802 13206 12621;
g=3 2 3 2 3;
f=500000 400000 400000 300000 300000;
c=153 161 406 255 296
111 266 244 108 93
192 192 142 90 46
266 299 113 191 150
274 274 98 166 125
109 87 270 71 120
160 92 190 72 121;
h=153 111 192 266 274 109 160
161 266 192 299 274 87 92
406 244 142 113 98 270 190
255 108 90 191 166 71 72
296 93 46 150 125        120 121;
enddata
min=@sum(link1(k,i):c(k,i)*w(k,i))+@sum(link2(i,j):h(i,j)*x(i,j))+@sum(link1(k,i):g(i)*w(k,i))+@sum(hub(i):f(i)*z(i);
@for(supply(k):
@sum(link1(k,i):w(k.i))<=p(k));
@for(demand(j):
@sum(link2(i,j):x(i,j)>=d(j));
@for(hub(i):
@sum(link2(i,j):x(i,j)=@sum(link1(k,i):w(k,i)));
@sum(tr(i):z(i))<=3;
@sum(tr(i):@bin(z));
end

运行:
error code 29
invalid number of initialization values in a DATA/INIT/CALC statement.
the required number of value is : 60  21]  160 92 190 72 121;

哪里有问题,求大神帮忙···
作者: madio    时间: 2012-12-25 18:43
你定义的时候定义了12个分量,给数据的时候只给了7个数据,当然会报错!
作者: 丄課覺覺.    时间: 2012-12-25 19:31
madio 发表于 2012-12-25 18:43
你定义的时候定义了12个分量,给数据的时候只给了7个数据,当然会报错!

谢谢····我把矩阵改过之后,又有新问题了,

error code 50
improper use of @for( ) function  34] @for(supply(k):

这个程序是我模仿其他人论文上写的,其实不懂lingo,所以很多不懂·····


作者: madio    时间: 2012-12-25 21:05
丄課覺覺. 发表于 2012-12-25 19:31
谢谢····我把矩阵改过之后,又有新问题了,

error code 50

model:
sets:
supply/p1..p7/:p;
demand/d1..d7/:d;
hub/h1..h5/:g,f;
tr/tr1..tr5/:z;
link1(supply,hub):c,w;
link2(hub,demand):h,x;
endsets
data:
p=75178 42603 36707 28838 28158 26031 21785;
d=73948 40975 40578 31298 26713 25805 20192 ;
g=3 2 3 2 3;
f=500000 400000 400000 300000 300000;
c=153 161 406 255 296
111 266 244 108 93
192 192 142 90 46
266 299 113 191 150
274 274 98 166 125
109 87 270 71 120
160 92 190 72 121;
h=153 111 192 266 274 109 160
161 266 192 299 274 87 92
406 244 142 113 98 270 190
255 108 90 191 166 71 72
296 93 46 150 125 120 121;
enddata
min=@sum(link1(k,i):c(k,i)*w(k,i))+@sum(link2(i,j):h(i,j)*x(i,j))+@sum(link1(k,i):g(i)*w(k,i))+@sum(hub(i):f(i)*z(i));
@for(supply(k):@sum(link1(k,i):w(k,i))<=p(k));
@for(demand(j):@sum(link2(i,j):x(i,j))>=d(j));
@for(hub(i):@sum(link2(i,j):x(i,j))=@sum(link1(k,i):w(k,i)));
@sum(tr(i):z(i))<=3;
@for(tr(i):@bin(z(i)));
end

错误很多,到处丢括号,我都改了,现在语法没有错误了,就是数据上我为了保证一致,删除了一些数据,最后的结果是没有可行解,我估计和数据或者模型有关,你自己对一下!
作者: 丄課覺覺.    时间: 2012-12-25 23:08
madio 发表于 2012-12-25 21:05
model:
sets:
supply/p1..p7/:p;

太感谢了,我的低级错误浪费了你的时间,真是不好意思····
作者: liwenhui    时间: 2017-2-16 20:35
madio 发表于 2012-12-25 21:05
model:
sets:
supply/p1..p7/:p;

谢谢马老师。





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