bugxiao 发表于 2010-4-11 16:46

大家帮帮忙,有一个表达式不知道怎么表示

TITLE soucing problem;
sets:
material/1..10/:h,b;!h原料i单位时间单位数量的库存费用,b代表原料i的单位数量单位距离内的运输费用;
supply/1..5/:d;!d代表供应商j到目的地的距离;
period/1/:t;
link1(material,supply):n,c,y;! n(i,j)代表j供应商提供i的数量(未知);!y(i,j)代表j 供应商提供i的最大供货能力;!c(i,j)代表供应商j提供i的单价;
link2(period,material):k,p,s;!p代表生产量,s代表销售量;
endsets
data:
b=300 320 400 420 450 500 460 370 375 400;
h=1.2 2.3 2.5 1.6 1.8 1.9 2.3 3.4 3.5 2.6;
d=1324,1456,2011,3011,2018;
c=1 2 3 4 5
  2 3 1 3 1
  2 2 1 1 3
  1 1 3 1 2
  2 5 2 2 3
  1 2 3 4 5
  2 3 1 3 1
  2 2 1 1 3
  1 1 3 1 2
  2 5 2 2 3;
y=11 21 31 41 51
  21 31 11 31 11
  21 21 11 11 31
  11 11 13 11 21
  21 15 12 21 13
  11 21 13 14 15
  21 31 11 31 11
  21 21 11 11 31
  11 11 13 11 12
  21 51 12 12 13;
k=100 200 300 400 500 600 300 100 100 400;
p=400 500 600 700 800 900 300 600 500 400 ;
s=500 300 700 1100 1000 1400 600 500 400 700;
enddata
init:
t=2;
endinit
min=@sum(link1(i,j):c(i,j)*n(i,j))+@sum(link1(i,j):c(i)*d(j)*n(i,j))+@sum(link2(t,i):h(i)*(k(t-1,i)+p(t,i)-s(t,i));
@for(materail(i):n(i,j)<=y(i,j);); 在这里的时候总是出错说@for 无效,请问我想表示n(i,j)<=y(i,j)这个怎么表达才是对的
@for(supply(j):c#LE#10000;);
@for(materail(i):p(t,i)<=s(t,i););

olh2008 发表于 2010-4-11 17:10

应该这样表示:
@for(link1:n<=y);
或者:
@for(link1(i,j):n(i,j)<y=(i,j));

bugxiao 发表于 2010-4-11 18:35

不行哦,改了还是出那样的错误

olh2008 发表于 2010-4-11 20:16

怎么你在里面还有还加了个分号,里里面的分号不要。

郑总 发表于 2010-4-12 09:14

应该去掉倒数第二个分号吧!我个人觉得。

bugxiao 发表于 2010-4-12 10:06

大家帮帮忙,去掉分号了还是一样的错误

bugxiao 发表于 2010-4-12 10:10

还是一样的错误

bugxiao 发表于 2010-4-12 15:57

大家帮忙看看哦······~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

shengshengchina 发表于 2011-4-14 12:59

哎,错的一塌糊涂

gaoshanliu水 发表于 2011-4-14 13:52

高手请出来、。。。
页: [1] 2
查看完整版本: 大家帮帮忙,有一个表达式不知道怎么表示