这个lingo哪里错了?D例2.1.1 如图中A,B,…,G表示7个城市,连线表示城市之间有一条路相通,连线旁的数字表示路的长度wij,要从城市A到城市G找出一条最短的路线.B31GEA2 2 3FC4 3 1 41设起点为1,终点为n,W
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/10 16:49:38
![这个lingo哪里错了?D例2.1.1 如图中A,B,…,G表示7个城市,连线表示城市之间有一条路相通,连线旁的数字表示路的长度wij,要从城市A到城市G找出一条最短的路线.B31GEA2 2 3FC4 3 1 41设起点为1,终点为n,W](/uploads/image/z/10395845-53-5.jpg?t=%E8%BF%99%E4%B8%AAlingo%E5%93%AA%E9%87%8C%E9%94%99%E4%BA%86%3FD%E4%BE%8B2.1.1+%E5%A6%82%E5%9B%BE%E4%B8%ADA%2CB%2C%E2%80%A6%2CG%E8%A1%A8%E7%A4%BA7%E4%B8%AA%E5%9F%8E%E5%B8%82%2C%E8%BF%9E%E7%BA%BF%E8%A1%A8%E7%A4%BA%E5%9F%8E%E5%B8%82%E4%B9%8B%E9%97%B4%E6%9C%89%E4%B8%80%E6%9D%A1%E8%B7%AF%E7%9B%B8%E9%80%9A%2C%E8%BF%9E%E7%BA%BF%E6%97%81%E7%9A%84%E6%95%B0%E5%AD%97%E8%A1%A8%E7%A4%BA%E8%B7%AF%E7%9A%84%E9%95%BF%E5%BA%A6wij%2C%E8%A6%81%E4%BB%8E%E5%9F%8E%E5%B8%82A%E5%88%B0%E5%9F%8E%E5%B8%82G%E6%89%BE%E5%87%BA%E4%B8%80%E6%9D%A1%E6%9C%80%E7%9F%AD%E7%9A%84%E8%B7%AF%E7%BA%BF.B31GEA2+2+3FC4+3+1+41%E8%AE%BE%E8%B5%B7%E7%82%B9%E4%B8%BA1%2C%E7%BB%88%E7%82%B9%E4%B8%BAn%2CW)
这个lingo哪里错了?D例2.1.1 如图中A,B,…,G表示7个城市,连线表示城市之间有一条路相通,连线旁的数字表示路的长度wij,要从城市A到城市G找出一条最短的路线.B31GEA2 2 3FC4 3 1 41设起点为1,终点为n,W
这个lingo哪里错了?
D
例2.1.1 如图中A,B,…,G表示7个城市,连线表示城市之间有一条路相通,连线旁的数字表示路的长度wij,要从城市A到城市G找出一条最短的路线.
B
3
1
G
E
A
2 2 3
F
C
4 3
1 4
1
设起点为1,终点为n,W为里程,引入0-1型决策变量Xij,如果弧(i,j)在最短路上,则Xij=1,否则Xij=0
编写lingo程序如下:
model:
sets:
cities/A,B,C,D,E,F,G/; 定义7个城市;
roads(cities,cities)/
A,B A,C B,D B,E B,F C,D C,E C,F D,G E,G F,G/:W,X;
定义哪些城市之间有路相连,W为里程,X为0-1型决策变量;
endsets
data:
W=2 4 3 3 1 2 3 1 1 3 4;
enddata
N=@SIZE(CITIES);
MIN=@SUM(roads:W*X);
@FOR(cities(i) | i #GT# 1 #AND# i #LT# 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;
end
这个lingo哪里错了?D例2.1.1 如图中A,B,…,G表示7个城市,连线表示城市之间有一条路相通,连线旁的数字表示路的长度wij,要从城市A到城市G找出一条最短的路线.B31GEA2 2 3FC4 3 1 41设起点为1,终点为n,W
标点请用英文的
model:
sets:
cities/A,B,C,D,E,F,G/; !定义7个城市;
roads(cities,cities)/
A,B A,C B,D B,E B,F C,D C,E C,F D,G E,G F,G/:W,X;
!定义哪些城市之间有路相连,W为里程,X为0-1型决策变量;
endsets
data:
W=2 4 3 3 1 2 3 1 1 3 4;
enddata
N=@SIZE(CITIES);
MIN=@SUM(roads:W*X);
@FOR(cities(i) | i #GT# 1 #AND# i #LT# 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;
end