shuaixtu 发表于 2009-7-16 10:51

lingo代码解惑(请教高手)

model:
sets:
flight/1..6/:;
matrix(flight,flight):x,c;
endsets
max=@sum(matrix:c*x);
@for(flight(i):
         @sum(flight(j):x(i,j))=1;
         @sum(flight(j):x(j,i))=1;);
data:
c=20 15 16 5 4 7
  17 15 33 12 8 6
  9 12 18 16 30 13
  12 8 11 27 19 14
  -999 7 10 21 10 32

  -999 -999 -999 6 11 13;
enddata
end
如何在这段代码中实现限制x(i,j) i,j=1,..,6均为0或1呢  用到@bin()函数

ljwabc115 发表于 2009-7-16 13:33

你的程序有问题

shuaixtu 发表于 2009-7-17 11:01

不好意思 ,我修改一下
model:
sets:
flight/1..6/:;
matrix(flight,flight):x,c;
endsets
max=@sum(matrix:c*x]max=@sum(matrix:c*x);
@for(flight(i):
         @sum(flight(j):x(i,j))=1;
         @sum(flight(j):x(j,i))=1;);
data:
c=20 15 16 5 4 7
  17 15 33 12 8 6
  9 12 18 16 30 13
  12 8 11 27 19 14
  -999 7 10 21 10 32
-999 -999 -999 6 11 13;
enddata
end
如何在这段代码中实现限制x(i,j) i,j=1,..,6均为0或1呢  用到@bin()函数

zhula8626 发表于 2009-7-18 09:02

en en,duile

madio 发表于 2009-7-18 10:14

@bin可以嵌入在@for循环中使用,这样利用循环就可以声明了,你这个变量不多,可以一个一个的声明。

xkdapple2000 发表于 2009-7-29 23:49

@for(flight(i):@bin(x(i,j)))
页: [1]
查看完整版本: lingo代码解惑(请教高手)