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()函数 你的程序有问题 不好意思 ,我修改一下
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()函数 en en,duile @bin可以嵌入在@for循环中使用,这样利用循环就可以声明了,你这个变量不多,可以一个一个的声明。 @for(flight(i):@bin(x(i,j)))
页:
[1]