我小白一个,遇到一个小问题,上各个文档看了都没结果,可是现在又比较急。so,来请教下lingo吧的高手们。代码如下,是求点1到2-11点的最短距离,数据什么都有了,可是我不会修改程序。感谢
model:
data:
n=13;
enddata
sets:
cities/1..n/: F; !13个城市点;
roads(cities,cities)/
1,3 1,9 1,10 1,12 1,13
2,4 2,6 2,7 2,12
3,4 3,5
4,5
5,7 5,8
6,8 6,9 6,11 6,12
7,8
8,11
9,10 9,11 9,12
10,12 10,13
12,13/:D,P;
endsets
data:
D=
4.1667 3.9583 3.3333 1.8519 1.9048
2.8333 1.7857 2.0833 1.3333
1.1000 1.5333
1.3571
1.4815 4.0741
1.3333 3.5714 4.3333 0.5952
1.2500
3.7037
1.0714 3.3333 4.1667
1.8750 0.7292
0.5556;
enddata
F(n)=0; @for(cities(i) | 1 #lt# n: F(i)=@min(roads(i,j): D(i,j)+F(j)); ); @for(roads(i,j): P(i,j)=@if(F(i) #eq# D(i,j)+F(j),1,0) );
end
model:
data:
n=13;
enddata
sets:
cities/1..n/: F; !13个城市点;
roads(cities,cities)/
1,3 1,9 1,10 1,12 1,13
2,4 2,6 2,7 2,12
3,4 3,5
4,5
5,7 5,8
6,8 6,9 6,11 6,12
7,8
8,11
9,10 9,11 9,12
10,12 10,13
12,13/:D,P;
endsets
data:
D=
4.1667 3.9583 3.3333 1.8519 1.9048
2.8333 1.7857 2.0833 1.3333
1.1000 1.5333
1.3571
1.4815 4.0741
1.3333 3.5714 4.3333 0.5952
1.2500
3.7037
1.0714 3.3333 4.1667
1.8750 0.7292
0.5556;
enddata
F(n)=0; @for(cities(i) | 1 #lt# n: F(i)=@min(roads(i,j): D(i,j)+F(j)); ); @for(roads(i,j): P(i,j)=@if(F(i) #eq# D(i,j)+F(j),1,0) );
end