LINGO在图论讲义中的应用

合集下载

LINGO在数学建模中的应用

LINGO在数学建模中的应用

一、LINGO简介LINGO[1]是美国LINDO系统公司开发的求解数学规划系列软件中你的一个,它的主要功能是求解大型线性、非线性和整数规划问题,LINGO的不同版本对模型的变量总数、非线性变量数目、整型变量数目和约束条件的数量做出不同的限制.LINGO的主要功能特色为:(1)既能求解线性规划问题,也有较强的求解非线性规划问题的能力;(2)输入模型简练直观;(3)运行速度快、计算能力强.(4)内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型;(5)将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型;(6)能方便地与EXCEL、数据库等其他软件交换数据.LINGO像其他软件一样,对他的语法有规定,LINGO的语法规定如下:(1)求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示;(2) 每个语句必须以字母开头,由字母、数字和下划线所组成,昌都不超过32个字符,不区分大小写;(3)每个语句必须以分号“;”结束,每行可以有多个语句,语句可以跨行;(4)如果对变量的取值范围没有特殊说明,则默认所有决策变量都非负;(5)LINGO模型以语句“MODEL”开头,以语句“END”结束,对于比较简单的模型,这这两个语句可以省略.LINGO提供了五十几个内部函数,使用这些函数可以大大减少编程工作量,这些函数都是以字符@开头,下面简单介绍其中的集合操作函数和变量定界函数及用法.集合是LINGO建模语言中最重要的概念,使用集合操作函数能够实现强大的功能,LINGO提供的常用集合操作函数有@FOR(s:e)、@SUM(s:e)、@MAX(s:e)、@MIN(s:e)等.@FOR(s:e)常用在约束条件中,表示对集合s中的每个成员都生成一个约束条件表达式,表达式的具体形式由参数e描述;@SUM(s:e) 表示对集合s中的每个成员,分别得到表达式e的值,然后返回所有这些值的和;@MAX(s:e) 表示对集合s中的每个成员,分别得到表达式e的值,然后返回所有这些值中的最大值;@MIN(s:e) 表示对集合s中的每个成员,分别得到表达式e的值,然后返回所有这些值中的最小值.LINGO默认变量的取值可以从零到正无穷大,变量定界函数可以改变默认状态,如对整数规划,限定变量取整数,对0-1规划,限定变量取0 1或.LINGO提供的变量定界函数有:@BIN(X)、@BND(L,X,U)、@GIN(X)、@FREE(X).@BIN(X)限定X为0或1,在0-1规划中特别有用;@GIN(X)限定X为整数,在整数规划中特别有用;@BND(L,X,U)限定L<X<U,可用作约束条件;@FREE(X)取消对X的限定,即X可以取任意实数.二、LINGO 在线性规划中的应用具有下列三个特征的问题称为线性规划问题(Linear program)[2]简称LP 问题,其数学模型称为线性规划(LP)模型.线性规划问题数学模型的一般形式为:求一组变量(1,2,,)j x j n =的值,使其满足1122max(min),n n z c x c x c x =+++2111122111211222221122***.0,1,2,,,,..n j n n n n nn nn n n x j na x a x a xb a x a x a x b s t a x a x a x b ⎧⎪⎪⎪⎨⎪⎪≥=⎪⎩+++++++++ 式中“*”代表“≥”、“ ≥”或“=”.上述模型可简写为1max(min),nj j j z c x ==∑1*0,1,2,,,1,2,,..nij j j ji a x x j n b i ms t =⎧⎪⎨⎪≥=⎩=∑其中,变量j x 称为决策变量,函数1nj jj z c x==∑称为目标函数,条件1*nj jij c x b =∑称为约束条件,0j x ≥ 称为非负约束.在经济问题中,又称j c 为价值系数,i b 为资源限量. 线性规划在科学决策与经营管理中实效明显[3],但是对于规模较大的线性模型,其求解过程非常繁琐,不易得出结果.而 LINGO 中的内部集合函数有@FOR(s:e)、@SUM(s:e)、@MAX(s:e)、@MIN(s:e)等,可以用这些集合函数使程序编程简单可行,下面举例说明.例1 某工厂有两条生产线,分别用来生产M 和P 两种型号的产品,利润分别为200元每个和300元每个,生产线的最大生产能力分别为每日100和120,生产线没生产一个M 产品需要1个劳动日(1个工人工作8小时称为1个劳动日)进行调试、检测等工作,而每个P 产品需要2个劳动日,该工厂每天共计能提供160个劳动日,假如原材料等其他条件不受限制,问应如何安排生产计划,才能使获得的利润最大?解 设两种产品的生产量分别为1x 和2x ,则该问题的数学模型为:目标函数 12max 200300z x x =+约束条件1212100,120,160,0,1,2.i x x x x x i ≤⎧⎪≤⎪⎨+≤⎪⎪≥=⎩ 编写LINGO 程序如下: MODEL : SETS :SHC/1,2 /:A,B,C,X; YF/1,2,3 /:J; ENDSETS DATA :A=1,2 ; B=100,120; C=200,300; ENDDATAMAX=@SUM(SHC:C*X);@FOR(SHC(I):X(I)<B(I)); @SUM(SHC(I):A(I)*X(I))<=160; END程序运行结果如下Global optimal solution found.Objective value: 29000.00 Total solver iterations: 0 Variable Value Reduced CostA( 1) 1.000000 0.000000A( 2) 2.000000 0.000000B( 1) 100.0000 0.000000B( 2) 120.0000 0.000000C( 1) 200.0000 0.000000C( 2) 300.0000 0.000000X( 1) 100.0000 0.000000X( 2) 30.00000 0.000000J( 1) 0.000000 0.000000J( 2) 0.000000 0.000000J( 3) 0.000000 0.000000Row Slack or Surplus Dual Price 1 29000.00 1.000000 2 0.000000 50.00000 3 90.00000 0.000000 4 0.000000 150.0000最优解为12100,30,x x ==最优值为29000.00z =.即每天生产100个M 产品30个P 产品,可获得29000元利润.三、LINGO 在整数规划和0-1规划中的应用1 求解整数规划整数规划[4]分为整数规划和混合整数规划,要求全部变量都为非负整数的数学规划称为纯整数规划,只要求部分变量为非负整数的数学规划称为混合整数规划.下面只讨论约束条件和目标函数均为线性的整数规划问题,即整数线性规划问题(以下简称整数规划,记为ILP),其数学模型的一般形式是()1max min nj j j z c x ==∑,()()11,2,,..01,2,,ni j j i j j j a x b i n s t x j n x =⎧≤=⎪⎪⎪≥=⎨⎪⎪⎪⎩∑全为整数或部分为整数。

LIN讲义GO在图论中的应用

LIN讲义GO在图论中的应用
点与边相连接称为关联,与边e关联的顶点称 为该边的端点,与同一条边关联的两个顶点称为 相邻顶点,与同一个顶点关联的边称为相邻边.
具有相同顶点的边称为平行边,两个端点重合 的边称为环.在无向图中,没有环和平行边的图 称为简单图,任意一对顶点都有一条边相连的简 单图称为完全图.任意两个顶点之间有且只有一 条弧相连的有向图称为竞赛图.
在图中,两个顶点u和v之间由顶点和边构成的 交错序列(使u和v相通)称为链(通道),没有 重复边的通道称为迹,起点与终点重合的通道称 为闭通道,不重合的称为开通道,没有重复顶点 (必然边也不重复)的开通道称为路,起点与终 点重合的路称为圈(回路).如果顶点u和v之间 存在通道,称u和v是连通的,任意两个顶点都连 通的图称为连通图.
一步是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 以上计算程序是通用程序,对其它图,只需在 此程序基础上对数据作一些修改即可。
j1
所有从其它顶点到达该顶点的弧中必然也有一条
弧在最短路上,因而必有:
n
X ji 1
2.0-1规划法
用0-1规划法也能求解最短路问题,其思路如 下.
设起点为1,终点为n.引入0-1型决策变量Xij, 如果弧(i , j)在最短路上,则Xij=1,否则Xij=0.
对于除了起点1和终点n以外的任意一个顶点i,
如果,
说明从i出发的所有弧中必然有一条弧

数学建模必备知识——lingo处理实例(多目标问题)

数学建模必备知识——lingo处理实例(多目标问题)

一个简单的LINGO程序
LINGO的基本用法的几点注意事项
•LINGO中不区分大小写字母;变量和行名可以超过8个字符,但 不能超过32个字符,且必须以字母开头。 •用LINGO解优化模型时已假定所有变量非负(除非用限定变量取 值范围的函数@free或@BND另行说明)。 •变量可以放在约束条件的右端(同时数字也可放在约束条件的左 端)。但为了提高LINGO求解时的效率,应尽可能采用线性表达 式定义目标和约束(如果可能的话)。 •语句是组成LINGO模型的基本单位,每个语句都以分号结尾,编 写程序时应注意模型的可读性。例如:一行只写一个语句,按照 语句之间的嵌套关系对语句安排适当的缩进,增强层次感。 •以感叹号开始的是说明语句(说明语句也需要以分号结束))。
LINGO中定义集合及其属性
LP模型在LINGO中的一个典型输入方式
以“MODEL:”开 始


集合定义部分从 (“SETS:”到 “ENDSETS” ): 定义集合及其属性 给出优化目标 和约束 集合定义部分从 (“DATA:”到 “ENDDATA” )
以“END”结 束
目标函数的定义方式 @SUM(集合(下标):关于集合的属性的表达式) 对语句中冒号“:”后面的表达式,按照“:”前 面的集合指定的下标(元素)进行求和。 本例中目标函数也可以等价地写成
LINGO软件的基本使用方法
内容提要
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
4. LINGO的主要菜单命令 5. LINGO命令窗口
6.习题
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
1. LINGO入门 4. LINGO的主要菜单命令 5. LINGO命令窗口

运筹学的应用简介及实例(lindo,lingo,ahp)[大全五篇]

运筹学的应用简介及实例(lindo,lingo,ahp)[大全五篇]

运筹学的应用简介及实例(lindo,lingo,ahp)[大全五篇]第一篇:运筹学的应用简介及实例(lindo,lingo,ahp)运筹学的应用简介及实例(lindo,lingo,ahp)一.运筹学可以用于物流中心选址:配送中心合理选址的目的是为了提高物流企业的服务质量,最大限度地增加物流企业的经济效益。

科学合理的选址不仅能够减少货物运输费用,大幅度地降低运营成本,而且能为客户带来方便快捷的服务。

二.运筹学可以用于路线选择:利用运筹学中的图论和线性规划方法,对已有的空运、水运、公路运输、管道运输、铁路运输组成的交通网,根据不同的决策目标制定不同的调运方案,可以是最短时间的运输路线、最少费用的运输路线或是最大运输量最低运费的运输线路等,从而达到降低物流成本的目的。

三.运筹学中排队论在物流中应用:排队论主要研究具有随机性的拥挤现象,在物流中有许多问题涉及,诸如机场跑道设计和机场设施数量问题, 如何才能既保证飞机起降的使用要求, 又不浪费机场资源又如码头的泊位设计和装卸设备的购置问题, 如何达到既能满足船舶到港的装卸要求, 而又不浪费港口资源等等。

四.运筹学中库存论在物流中应用:库存论主要是研究物资库存策略的理论, 即确定物资库存量、补货频率和一次补货量。

合理的库存是生产和生活顺利进行的必要保障, 可以减少资金的占用, 减少费用支出和不必要的周转环节, 缩短物资流通周期, 加速再生产的过程等。

在物流领域中的各节点如工厂、港口、配送中心、物流中心、仓库、零售店等都或多或少地保有库存。

五.运筹学中对策论在物流中应用:对策论研究有利害冲突的双方在竞争性的活动中是否存在自己制胜对方的最优策略, 以及如何找出这些策略等问题。

在这些问题中, 把双方的损耗用数量来描述, 并找出双方最优策略。

对策论的发展, 考虑有多方参加的竞争活动, 在这些活动中, 竞争策略要通过参加者多次的决策才能确定。

参考文献:[1] 左元斌.运筹学在物流配送中心的应用研究[J].商场现代化,2006(458):125-127.[2] 李宇鸣.浅谈运筹学在物流管理中应用与发展[J].吉林工商学报,2007(4):55-56.[3] 田进波.运筹学在管理物流管理中的应用[J].石油工程建设,2010(36):153-155.LINDO求解目标规划:题目:一个小型的无线电广播台考虑如何最好地来安排音乐、新闻和商业节目时间。

lingo-TSP问题

lingo-TSP问题

LINGO 课程试验专题——TSP前言:TSP 问题,即巡回旅行商问题,也称为货担郎问题,早期是1759年Euler 提出的骑士旅行问题。

1948年,有美国兰德公司推动,成为近代组合优化问题中的一个典型难题,它被证明为是NP 难题。

图论描述就是给定一个有向或者是无向的图,并给定他们各边的权值,找一个Hamilton 圈使得总权最小。

例:设有一个销售员从10个城市中的某一个城市出发,去其他的9个城市推销产品。

10个城市相互距离如下表所示。

要求每个城市到达且仅到达一次,回到方法一:设城市之间的距离用矩阵d 来表示,其中d 为下三角矩阵,ij d 表示城市i 与城市j 之间的距离。

设0-1矩阵x 用来表示经过的各城市之间的路线。

设01ij i j x i j⎧=⎨⎩若城市不到城市若城市到城市则建立该TSP 问题的模型如下:()121121min ..22,3,4,...,01n i ij iji j j j ik ji k ij i ijz x d x s t x x i n x -===><>=⎧⎪⎪+==⎨⎪⎪=⎩∑∑∑∑∑或 它的主要思想就是与第一个城市相连的有两个城市,与第i 个城市相连的有两个城市,每个城市都有相连的两个城市,这个自然就够成一个Hamilton 圈,但是不保证有多个圈的情况。

LINGO 具体程序如下:model:sets:city/1..10/;link(city,city)|&1#GT#&2:d,x;endsetsdata:d=74 35 10 58 9 9 146 14 10 9 712 5 21 10 8 1313 14 8 9 7 5 2311 17 27 23 20 25 21 1818 17 12 16 19 13 18 12 16;enddatamin=@sum(link:d*x);@sum(city(j)|j#GT#1:x(j,1))=2;@for(city(i)|i#GT#1:@sum(city(j)|j#GT#i:x(j,i))+@sum(city(k)|k#LT#i:x(i,k))=2);@for(link:@bin(x));得到的结果:Global optimal solution found.Objective value: 77.00000Objective bound: 77.00000Infeasibilities: 0.000000 Extended solver steps: 0Total solver iterations: 12结果分析:从这个结果我们可以看出,该TSP 问题的最短距离是77km ,其最短路线为:143275681091→→→→→→→→→→。

利用LinGo求解几种有向图最短路问题

利用LinGo求解几种有向图最短路问题
LIU Lin
(Fujian Communication Technology College Basic Courses Department, Fuzhou Fujian 350007)
Abstract: In this paper, there are several shortest paths to the weighted graph using Lingo software path length and the solution, and analyzed with a simple solution Lingo place and how to empower a directed graph of the negative rights. Provides a good way to solve this kind of this problem.
CAI Ze- huan,LI Xiang- fu
(Xiangfan Vocational and Technical College, Xiangfan Hubei 441050, China)
Abstract: This paper presents methods to achieve training standards for the effective connection with the needs of employers from five aspects, which is on the basis of vocational education in the training standards and the employer needs the existence of dislocation.
路的优点在于,程序书写简单易懂,容易掌握,答案 直观明了,比传统解题节约不少时间。Lingo不仅仅 在线性规划解题方面有其独特的优越性,在图论解 题中也有其可取之处,简便易懂的程序取得意想不 到的效果。

4.3 图论中最优树问题的Lingo求解

4.3 图论中最优树问题的Lingo求解

图论中最优树问题的Lingo求解树连通且不含圈的无向图称为树.常用T表示。

树中的边称为树枝,树中度为1的顶点称为树叶图1 树的示例在许多实际问题中,如在许多城市间建立公路网、输电网或通信网络,都可以归结为赋权图的最优树问题。

如在一个城市中,对若干个居民点要供应自来水,已经预算出连接各点间管道的造价,要求给出一个总造价最小的铺设方案。

图论中最优树的的求解通常有两种算法:Kruskal算法(或避圈法)和Prim算法(破圈法). 这里我们给出利用LINGO求解最优树的方法。

总线性规划模型为:问题1 某有10个城镇见下图,它们之间的距离见表1。

城镇1处有一条河流,现需要从各城镇之间铺设管道,使城镇1处的水可以输送到各城镇,求铺设管道最少的设计方式。

表1 10个地区之间的距离(单位:公里)地区12345678910 10859121412161722 28091516811181422 359079117121217 4915703171071515 5121693081061515 6148111780914816 7121171010908611 81618127614801111 917141225158611010 102222171515161111100该问题实际上是求从点1出发的最优树问题。

Lingo实现程序为:! 最优树的Lingo程序; model:sets:point/1..10/:u;link(point,point):d,x; endsetsdata:d=0,8,5,9,12,14,12,16,17,22, 8,0,9,15,16,8,11,18,14,22, 5,9,0,7,9,11,7,12,12,17, 9,15,7,0,3,17,10,7,15,15,12,16,9,3,0,8,10,6,15,15,14,8,11,17,8,0,9,14,8,16,12,11,7,10,10,9,0,8,6,11,16,18,12,7,6,14,8,0,11,11,17,14,12,25,15,8,6,11,0,10,22,22,17,15,15,16,11,11,10,0; @text()=@writefor(link(i,j)|x(i,j) #GT#0:'x(',i,',',j,')=',x(i,j),' ');enddatamin=@sum(link(i,j)|i#ne#j:d(i,j)*x(i,j));n=@size(point);@sum(point(j)|j#gt#1:x(1,j))>=1;@for(point(i)|i#ne#1:@sum(point(j)|j#ne#i:x(j,i))=1); @for(link(i,j):@bin(x(i,j)));@for(link(i,j)|i#ne#j:u(i)-u(j)+n*x(i,j)<=n-1); !不构成圈;end结果为minZ=60x(1,2)=1 x(1,3)=1 x(3,4)=1 x(4,5)=1x(9,6)=1 x(3,7)=1 x(7,9)=1 x(5,8)=1x(9,10)=1故最优树(最佳铺设管道方式)见图.谢谢!。

Lingo的典型应用举例

Lingo的典型应用举例

假设预先准备的箱子总数为n个,即使每件物品单 独装一个箱子也够用,用决策变量yi=1或0表示第j个箱 子是用还是不用,用变量xij=1或0表示第i件物品是否放 入第j个箱子中,建立0-1规划模型如下:
n
min
z y j,
j1
n
w i x ij Cy
j , j 1,2 ,...,
n,
i1
s
表2.1 当前可供蔬菜养分含量(mg)和价格
养分
蔬菜

A1 青 豆 0.45
A2 胡萝卜 0.45
A3 花 菜 0.65
A4 卷心菜 0.4
A5 芹 菜 0.5
A6 土 豆 0.5
每周最低需求 6
每份蔬菜所含养分数量
每份价格
磷 维生素A 维生素C 烟酸 (元)
20
415
22
0.3
2.1
28
4065
例2.1 某疗养院营养师要为某类病人拟定本周蔬菜类菜单, 当前可供选择的蔬菜品种、价格和营养成分含量,以及病 人所需养分的最低数量见表2.1所示。病人每周需14份蔬 菜,为了口味的原因,规定一周内的卷心菜不多于2份, 胡萝卜不多于3份,其他蔬菜不多于4份且至少一份。在满 足要求的前提下,制订费用最少的一周菜单方案。
.t
.
n
x ij 1 , i 1 , 2 ,...,
n,
j1
yj x ij
0或 0或
1, j 1, i,
j
1,2 ,..., n , 1,2 ,..., n .
例5.1 已知30个物品,其中6个长0.51m,6个长 0.27m,6个长0.26m,余下的12个长0.23m,箱子长为 1m。问最少需要多少个箱子才能把30个物品全部装进箱 子。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一步是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 以上计算程序是通用程序,对其它图,只需在 此程序基础上对数据作一些修改即可。
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
2.0-1规划法
用0-1规划法也能求解最短路问题,其思路如 下.
设起点为1,终点为n.引入0-1型决策变量Xij, 如果弧(i , j)在最短路上,则Xij=1,否则Xij=0.
对于除了起点1和终点n以外的任意一个顶点i,
如果,
说明从i出发的所有弧中必然有一条弧
n
在最短路X 上ij 1,也就是说最短路经过该顶点,此时
可以用动态规划的方法来求最短路问题,下面 举例说明其算法原理。
2.算法原理
举例:
3
D
1
2
B
3ห้องสมุดไป่ตู้
A
1
E
G
2
3
4
C3
4
1
F
图中A,B,...,G表示7个城市,连线表示城市之间 有道路相通,连线旁的数字表示道路的长度Wij, 现要从城市A到G找出一条最短路线。
该问题有三个阶段,第一阶段从A到B或C,第 二阶段到D,E或F,第三阶段到终点G,我们从终 点向前倒过来找。
精品
LINGO在图论中的应用
图是一种直观形象地描述已知信息的方 式,它使事物之间的关系简洁明了,是分 析问题的有用工具,很多实际问题可以用 图来描述。
一、图的基本概念
图论是以图为研究对象的数学分支,在图论 中,图由一些点和点之间的连线所组成.
称图中的点为顶点(节点),称连接顶点的 没有方向的线段为边,称有方向的线段为弧.所 有线段都没有方向的图称为无向图,所有线段都 有方向的图称为有向图,既有边也有弧的图称为 混合图.
j1
所有从其它顶点到达该顶点的弧中必然也有一条
弧在最短路上,因而必有:
n
X ji 1
无圈的连通图称为树,如果一棵树T包含了图G 的所有顶点,称T为G的生成树.
如果图G的每条边e都对应一个实数C(e),称C(e) 为该边e的权,称图G为赋权图.通常称赋权的有 向图为网络.
二、最短路问题
1.动态规划法
(1)问题的描述
给定N个点Pi(i=1,2,...,n)组成集合{Pi},集合中任 一点Pi到另一点Pj的距离用Wij表示,如果Pi到Pj没 有 弧 联 结 ( 无 通 路 ) , 则 规 定 Wij=+∞ , 又 规 定 , Wii=0 (i=1,2,...,n),指定一个终点PN,要求从Pi点出 发到PN的最短路线。
第 三 阶 段 , 从 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),可以写成
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的最短路径的第
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。 上述算法可以简写成
f(i)m j {W iinjf(j),}iN1, ,2,1 f(N )0
点与边相连接称为关联,与边e关联的顶点称 为该边的端点,与同一条边关联的两个顶点称为 相邻顶点,与同一个顶点关联的边称为相邻边.
具有相同顶点的边称为平行边,两个端点重合 的边称为环.在无向图中,没有环和平行边的图 称为简单图,任意一对顶点都有一条边相连的简 单图称为完全图.任意两个顶点之间有且只有一 条弧相连的有向图称为竞赛图.
程序中的语句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时用列 举法列出有路相通的每对城市 。
在图中,两个顶点u和v之间由顶点和边构成的 交错序列(使u和v相通)称为链(通道),没有 重复边的通道称为迹,起点与终点重合的通道称 为闭通道,不重合的称为开通道,没有重复顶点 (必然边也不重复)的开通道称为路,起点与终 点重合的路称为圈(回路).如果顶点u和v之间 存在通道,称u和v是连通的,任意两个顶点都连 通的图称为连通图.
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
故F(C)=3;
WCF+ f(F)=1+4=5
第一阶段,出发点只有一个A,从A出发分别经 过B,C,至终点G的里程分别为:
相关文档
最新文档