网站大量收购独家精品文档,联系QQ:2885784924

LINGO在图论中的应用说课材料.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 LINGO在图论和 网络模型中的应用;图是一种直观形象地描述已知信息的方式,它使事物之间的关系简洁明了,是分析问题的有用工具,很多实际问题可以用图来描述。;一、图的基本概念 ; 无圈的连通图称为树,如果一棵树T包含了图G的所有顶点,称T为G的生成树. 如果图G的每条边e都对应一个实数C(e),称C(e)为该边e的权,称图G为赋权图.通常称赋权的有向图为网络.;二、最短路问题;2.算法原理 举例: 图中A,B,...,G表示7个城市,连线表示城市之间有道路相通,连线旁的数字表示道路??长度Wij,现要从城市A到G找出一条最短路线。 该问题有三个阶段,第一阶段从A到B或C,第二阶段到D,E或F,第三阶段到终点G,我们从终点向前倒过来找。;第三阶段,从D,E,F到G的最短路分别为1,3,4,记为f(D)=1,f(E)=3,f(F)=4; 第二阶段,与D,E,F有连线的出发点为B和C,从B出发分别经过D,E,F,至终点G的里程分别为: WBD+ f(D)=3+1=4 WBE+ f(E)=3+3=6 WBF+ f(F)=1+4=5 故B到G的最短路是上述三者的最小值(4),可以写成f(B)=min{WBj+f(j)}=4,j是上一步考察过的三个点D,E,F;同理f(C)=min{WCj+f(j)},而 WCD+ f(D)=2+1=3 WCE+ f(E)=3+3=6 WCF+ f(F)=1+4=5 故F(C)=3;;第一阶段,出发点只有一个A,从A出发分别经过B,C,至终点G的里程分别为: WAB+ f(B)=2+4=6 WAC+ f(C)=4+3=7 故A到G的最短路是上述两者的最小值6,可以写成f(A)=min{WAj+f(j)}=6,j是上一步考察过的两个点B,C,现在已经到了起点,结束运算,从A到G的最短路为6。 上述算法可以简写成 N是终点,1是起点, j是与i相联,上一步考察过,且与终点相通、f(j)为已知的点。;编写LINGO程序如下: model: sets: cities/A,B,C,D,E,F,G/: FL; !定义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, P; !定义哪些城市之间有路相联,W为里程,P用来存放最短路的路径; endsets;data: W=2 4 3 3 1 2 3 1 1 3 4; enddata N=@SIZE(CITIES); FL(N)=0; !终点的F值为0; @for(cities(i) | i #lt# N: FL(i)=@min(roads(i,j):W(i,j)+FL(j))); !递推计算各城市F值; !显然,如果P(i,j)=1,则点i到点n的最短路径的第一步是i -- j,否则就不是。由此,我们就可方便的确定出最短路径; @for(roads(i,j): P(i,j)=@if(FL(i) #eq# W(i,j)+FL(j),1,0)); end;部分计算结果: FL(A) 6 FL(B) 4 FL(C) 3 FL(D) 1 FL(E) 3 FL(F) 4 FL(G) 0 最短路线为 A B D G 以上计算程序是通用程序,对其它图,只需在此程序基础上对数据作一些修改即可。;程序中的语句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, P; 定义的集合称为稀疏集合,本例中cities有7个成员,但是并非每个城市到其它6个城市都有路相通,只有部分城市之间有路,故定义衍生集合roads时用列举法列出有路相通的每对城市 。;2.0-1规划法 用0-1规划法也能求解最短路问题,其思路如下. 设起点为1,终点为n.引入0-1型决策变量Xij,如果弧(i , j)在最短路上,则Xij=1,否则Xij=0. 对于除了起点1和终点n以外的任意一个顶点i,如果, 说明从i出发的所有弧中必然有一条弧在最短路上,也就是说最短路经过该顶点,此时所有从其它顶点到达该顶点的弧中必然也有一条弧在最短路上,因而必有:; 如果 ,说明最短路不经过顶点i,故必有 两种情况可以合并写成 : 对于起点1,则必然满足: 对于终点n,则必有:;目标函数是最短路上的各条弧的长度之和(总里程)最小,于是最短路问题可以用如下0-1规划来描述: 式中 表示全体边的集合

文档评论(0)

138****7806 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档