自己照样子写了个程序,也能运行,但是能请大大们帮忙讲解下程序代码是什么意思吗
@for(cities(i)|i#ne#1#and#i#ne#n:@sum(roads(i,j):x(i,j))=@sum(roads(j,i):x(j,i)));
@sum(roads(i,j)|i#eq#1:x(i,j))=1;
@sum(roads(i,j)|j#eq#n:x(i,j))=1;
@for(roads:@bin(x));
这几条代码的含义看了lingo教程讲解,但是还是理不清楚
求大大们帮忙,谢谢了
全部代码:
model:
sets:
cities/V1,V21,V22,V31,V32,V41,V42,V51,V52,V6/;
roads(cities,cities)/V1 V21,V1 V22,V1 V31,V1 V32,
V21 V31,V21 V32,V22 V31,V22 V32,
V21 V51,V21 V52,V22 V51,V22 V52,
V31 V41,V31 V42,V32 V41,V32 V42,
V41 V51,V41 V52,V41 V51,V42 V52
V51 V6,V52 V6
/:x,w;
endsets
data:
w=2127.428 4290 3578.281 7440.3
2374.139 7191.6 2749.139 6816.6
6960.803 20314.5 7335.803 19939.5
1390.795 4350.3 1765.795 3975.3
3928.825 12376.5 4303.825 12001.5
0 0
;
enddata
n=@size(cities);
min=@sum(roads:w*x);
@for(cities(i)|i#ne#1#and#i#ne#n:@sum(roads(i,j):x(i,j))=@sum(roads(j,i):x(j,i)));
@sum(roads(i,j)|i#eq#1:x(i,j))=1;
@sum(roads(i,j)|j#eq#n:x(i,j))=1;
@for(roads:@bin(x));
end