lingo中11个城市,从1到11的最短路问题

model:sets:cities/1..11/;roads(cities,cities):w,x;endsetsdata:w=0;enddatacalc:w(1,2)=... 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
roads:@bin(x));
end
如何理解
展开
 我来答
wswhk
2013-05-24 · TA获得超过7.1万个赞
知道顶级答主
回答量:4.6万
采纳率:68%
帮助的人:7.5亿
展开全部
首先不可能一句一句的讲语法 需要你自己学一下lingo
只说一下主要的模型 首先他calc段是给出了具体的w的数据

然后主要模型的目标自然就是路线最短 这里面x表示的选择的路线 x(i,j)是0-1变量 用来表示i到j的路线是否选择

下面的第一个约束就是对于非起点和非终点的这些点来说 进这点的路线数和出这点的路线数是相同的
最后就是出起点的路线数为1 进起点的路线数为0 进终点的路线数为0
百度网友dc6e617
2013-05-24
知道答主
回答量:2
采纳率:0%
帮助的人:2.5万
展开全部
你是哪一部分不懂啊 这是迪克斯特拉算法 算最短路比较成熟的算法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式