- 在线时间
- 12 小时
- 最后登录
- 2015-5-5
- 注册时间
- 2012-8-1
- 听众数
- 7
- 收听数
- 0
- 能力
- 0 分
- 体力
- 221 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 84
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 38
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 5
升级   83.16% TA的每日心情 | 开心 2015-5-5 10:56 |
---|
签到天数: 21 天 [LV.4]偶尔看看III
- 自我介绍
- 数学喜爱者
 群组: Matlab讨论组 群组: 学术交流A |
无向图的最短路问题
编写 LINGO 程序如下:
model:
sets:
cities/1..11/;
roads(cities,cities):w,x;
endsets
data:
w=0;
enddata
calc:
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)));
endcalc
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有问题···哪位大侠解答一下 |
zan
|