玉清 发表于 2012-8-19 21:22

无向图最短路lingo程序

model:
sets:
cities/1..11/;
roads(cities,cities):w,x;
endsets
data:
w=0;
enddata
data:
w(1,2)=2;w(1,3)=8;w(1,4)=1;
w(2,3)=6;w(2,5)=1;
w(3,4)=7;w(3,5)=5;w(3,6)=1;w(3,7)=2;
w(4,7)=9;
w(5,6)=3;w(5,8)=2;w(5,9)=9;
w(6,7)=4;w(6,9)=6;
w(7,9)=3;w(7,10)=1;
w(8,9)=7;w(8,11)=9;
w(9,10)=1;w(9,11)=2;w(10,11)=4;
@for(roads(i,j):w(i,j)=w(i,j)+w(j,i));
@for(roads(i,j):w(i,j)=@if(w(i,j) #eq# 0, 1000,w(i,j)));
enddata
n=@size(cities);  !城市的个数;
min=@sum(roads:w*x);
@for(cities(i)|i #ne#1 #and# i #ne#
n:@sum(cities(j):x(i,j))=@sum(cities(j):x(j,i)));
@sum(cities(j):x(1,j))=1;
@sum(cities(j):x(j,1))=0; !不能回到顶点1;
@sum(cities(j):x(j,n))=1;
@for(roads:@bin(x));
end 大家看一下calc这个函数有什么问题啊····

玉清 发表于 2012-8-19 21:24

不好意思···打错了

玉清 发表于 2012-8-19 21:27

把第二个data换成calc·····

fgfroom214 发表于 2012-8-19 22:10

还是不能用

fgfroom214 发表于 2012-8-19 22:17

改后就可以用了

darker50 发表于 2012-8-20 09:55

玉清 发表于 2012-8-19 21:27 static/image/common/back.gif
把第二个data换成calc·····

  直接编辑自己的帖子修改就行了!

玉清 发表于 2012-8-20 12:15

darker50 发表于 2012-8-20 09:55 static/image/common/back.gif
直接编辑自己的帖子修改就行了!

我尝试了一下,不行啊···

玉清 发表于 2012-8-20 12:16

fgfroom214 发表于 2012-8-19 22:17 static/image/common/back.gif
改后就可以用了

貌似还是不行····
页: [1]
查看完整版本: 无向图最短路lingo程序