づcoffee-teaあ 发表于 2012-9-1 23:34

求问大神:莫名FOR语句错误,求指点哪里出错

SETS:
WH/W1..W6/:AI;
VD/V1..V8/:DJ;
LINKS(WH,VD):C,X;
ENDSETS
DATA:
AI=60,55,51,43,41,52;
DJ=35,37,22,32,41,32,43,38;
C=6,2,6,7,4,2,5,9
  4,9,5,3,8,5,8,2
  5,2,1,9,7,4,3,3
  7,6,7,3,9,2,7,1
  2,3,9,5,7,2,6,5
  5,5,2,2,8,1,4,3;
ENDDATA
MIN=@SUM(LINKS(I,J):C(I,J)*X(I,J);
@FOR(WH(I):@SUM(VD(J):X(I,J))<=AI(I));
@FOR(VD(J):@SUM(WH(I):X(I,J))<DJ(J));
END
运算结果是For语句错误,求指点,小小体力当做回报吧。

zhangc_ningbo 发表于 2012-9-1 23:34

目标函数后面少了个括号

zhangc_ningbo 发表于 2012-9-2 08:29

sets:
  II/w1..w6/:AI;
  JJ/v1..v8/:DJ;
  links(II,JJ):c,x;
endsets

data:
  AI=60,55,51,43,41,52;
  DJ=35,37,22,32,41,32,43,38;
  C=6,2,6,7,4,2,5,9
    4,9,5,3,8,5,8,2
    5,2,1,9,7,4,3,3
    7,6,7,3,9,2,7,1
    2,3,9,5,7,2,6,5
    5,5,2,2,8,1,4,3;
enddata

min=@sum(links:c*x);

@for(II(i):@sum(JJ(j):x(i,j))<=AI(i));
@for(JJ(j):@sum(II(i):x(i,j))<DJ(j));
end

我按照你的意思编了下就可以,你那个为什么不可以 我也不是很清楚,主要是你那个都是大写的我看不习惯~

zhangc_ningbo 发表于 2012-9-2 08:36

目标函数最后没少了个括号!

zhangc_ningbo 发表于 2012-9-2 08:41

亲,目标函数最后没忘记个括号,这样就相当于@for也在@sum里面了,所以提示@for使用错误!

zhangc_ningbo 发表于 2012-9-2 09:21

亲,目标函数最后没少了个括号,那么那个@FOR就相当于在目标函数@SUM里面了,所以@FOR出现错误!

落轩飞雨 发表于 2012-9-2 13:04

{:3_41:}嗯不错
页: [1]
查看完整版本: 求问大神:莫名FOR语句错误,求指点哪里出错