第2讲行遍性问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fleury 算法步骤: (1)任选一个顶点 v0,令道路 w0=v0
(2)假定道路 wi=v0 e1 v1 e2… e ivi 已经选好,则从 E\{e1,e2, …,ei}中
选一条边 ei+1,使: a)ei+1 与 vi 相关联
b)除非不能选择,否则一定要使 ei+1 不是 Gi=G[E-{e1,e2, …,ei}]
68
68
Pa 21 57 36 inf 51 61
Pe 51 78 68 51 inf 13
T
60 70 68
61 13 inf
建模实例 灾情巡视路线
• 图5-53为某乡,(镇),村公路网示意图,公路边的数 字为该路段的公里数。
• 有一年夏天该县遭受水灾。为考察灾情,组织自救,县领 导决定,带领有关部门负责人到全县各乡,(镇),村巡 视。巡视路线指从县政府所在地出发,走遍各乡,镇,村, 又回到县政府所在地的路线。
2.以 v4、v7、v8、v9 为顶点,它们之间的距离为边权构造完备图 G1.
3.求出 G1 的最小权完美匹配 M={(v4,,v7),(v8,v9)}
4.在 G 中沿 v4 到 v7 的最短路径添加重复边,沿 v8 到 v9 的最短路径 v8v9 添加重复边,得欧拉图 G2.G2 中一条欧拉巡回就是 G 的一条最佳 巡回.其权值为64.
(2)以 G 的所有奇次顶点为顶点集(个数为偶数),作一完备图, 边上的权为两端点在原图 G 中的最短距离,将此完备加权图记为 G1.
(3)求出G1的最小权理想匹配M,得到奇次顶点的最佳配对.
(4)在 G 中沿配对顶点之间的最短路径添加重复边得欧拉图 G*.
(5)用 Fleury 算法求出 G*的欧拉巡回,这就是 G 的最佳巡回.
的割边.
(3)第(2)步不能进行时就停止.
v1
e1
v2 e10
e4
e5 e2
v4
e3
e6 v3
V5
e7
e8
V7 e9
V6
2、G 不是欧拉图
若G不是欧拉图,则G的任何一个巡回经过某 些边必定多于一次.
解决这类问题的一般方法是,在一些点对之间 引入重复边(重复边与它平行的边具有相同的权), 使原图成为欧拉图,但希望所有添加的重复边的 权的总和为最小.
e2
v4
e3
v3
欧拉巡回:
v1e1v2e2v3e5v1e4v4e3v3e6v1
定理1 对于非空连通图 G,下列命题等价: (1)G 是欧拉图. (2)G 无奇次顶点. (3)G 的边集能划分为圈.
v1
e1
v2
v1
e1
v2
e4 e6 e5
e2
v4
e3
v3
欧拉图
e4
e5 e2
v4
e3
v3
非欧拉图
推论1 设 G 是非平凡连通图,则 G 有欧拉道路的充要条件是 G 最多只有两个奇次顶点.
(1)若分三组(路)巡视,试设计总路程最短且各组尽可 能均衡的巡视路线。
(2)假定各巡视人员在各乡(镇)停留时间T=2小时,在 各村停留时间T=1小时,汽车行驶速度v=35千米/小时。要 在24小时内完成巡视,至少应分几组:给出这种分组下你 认为最佳的巡视路线。
(3)在上述关于T,t和v的假定下,如果巡视人员足够多, 完成巡视的最短时间是多少;给出在这种最短时间完成巡 视的要求下,你认为最佳的巡视路线。
情形1 G 正好有两个奇次顶点 (1)用 Dijkstra 算法求出奇次顶点 u 与 v 之间的最短路径 P.
(2)令 G*=G P,则 G*为欧拉图.
(3)用 FleBiblioteka ry 算法求出 G*的欧拉巡回,这就是 G 的最佳巡回.
v1
e1
v2
e4
e5 e2
v4
e3
e6 v3
V5
e7
e8
V7 e9
V6
例 求右图所示投递区的一条最佳邮递路线.
1.图中有 v4、v7、v8、v9 四个奇次顶点
用 Floyd 算法求出它们之间的最短路径和距离:
Pv4v7 v4v3v2v7 , d (v4 , v7 ) 5 Pv4v8 v4v8 , d (v4 , v8 ) 3 Pv4v9 v4v8v9 , d (v4,v9 ) 6 Pv7v8 v7v8 , d (v7 , v8 ) 9 Pv7v9 v7v9 , d (v7 , v9 ) 6 Pv8v9 v8v9 , d (v8 , v9 ) 3
例: 从北京(Pe)乘飞机到东京(T)、纽约(N)、墨西哥城(M)、 伦敦(L)、巴黎(Pa)五城市做旅游,每城市恰去一次再回北京, 应如何安排旅游线,使旅程最短?各城市之间的航线距离如 下表:
L
M
N
Pa Pe
T
L
inf 56
35
21
51
60
M 56 inf 21 57 78 70
N
35
21 inf 36
则在 C0 中删去边(vi,vi+1)和(vj,vj+1)而加入边(vi, vj)和(vi+1,vj+1),形成 新的 H 圈 C,即
C= v1,v2,…,vi,,vj , vj-1, …,vi+1,vj+1, …,vn,v1
3)对 C 重复步骤(2),直到条件不满足为止,最后得到的 C 即为所求.
若用顶点表示城镇,边表示连接两城镇的路,边 上的权表示距离(或时间、费用),于是推销员问 题就成为在加权图中寻找一条经过每个顶点至少一 次的最短闭通路问题.
定义 在加权图G=(V,E)中, (1)权最小的哈密尔顿圈称为最佳H圈. (2)经过每个顶点至少一次的权最小的闭通路称 为最佳推销员回路.
一般说来,最佳哈密尔顿圈不一定是最佳推销员回路, 同样最佳推销员回路也不一定是最佳哈密尔顿圈.
中国邮递员问题-定义
邮递员发送邮件时,要从邮局出发,经过他投递范围内的 每条街道至少一次,然后返回邮局,但邮递员希望选择一条行 程最短的路线.这就是中国邮递员问题.
若将投递区的街道用边表示,街道的长度用边权表示, 邮局街道交叉口用点表示,则一个投递区构成一个赋权连通 无向图.中国邮递员问题转化为:在一个非负加权连通图中, 寻求一个权最小的巡回.这样的巡回称为最佳巡回.
上述问题可分为三种情况.
中国邮递员问题-算法
1、G 是欧拉图 此时 G 的任何一个欧拉巡回便是最佳巡回.问题归结
为在欧拉图中确定一个欧拉巡回.
Fleury 算法:求欧拉图的欧拉巡回
Fleury算法-基本思想:从任一点出发,每当访问 一条边时,先要进行检查.如果可供访问的边不只 一条,则应选一条不是未访问的边集的导出子图的 割边作为访问边,直到没有边可选择为止.
情形2 G 有2n 个奇次顶点(n 2)
Edmonds 最小对集算法:
基本思想:
先将奇次顶点配对,要求最佳配对,即点对之间距离总和 最小.再沿点对之间的最短路径添加重复边得欧拉图 G*,G*的 欧拉巡回便是原图的最佳巡回.
算法步骤:
(1)用 Floyd 算法求出的所有奇次顶点之间的最短路径和距离.
哈密尔顿图
定义 设 G=(V,E)是连通无向图 (1)经过 G 的每个顶点正好一次的路径,称为 G 的一条
哈密尔顿路径. (2) 经过 G 的每个顶点正好一次的圈,称为 G 的哈密尔
顿圈或 H 圈. (3)含 H 圈的图称为哈密尔顿图或 H 图.
推销员问题-定义
流动推销员需要访问某地区的所有城镇,最后回 到出发点.问如何安排旅行路线使总行程最小.这 就是推销员问题.推销员问题是NP-完备问题,即没 有多项式时间算法。
行遍性问题
一、中 国 邮 递 员 问 题
(一) 欧 拉 图 (二) 中 国 邮 递 员 问 题
二、推 销 员 问 题
(一) 哈 密 尔 顿 图
(二) 推 销 员 问 题
三、建模案例:最佳灾情巡视路线
定义 设图 G =(V,E),M E,若 M 的边互不相邻,
则称 M 是 G 的一个匹配.
若顶点 v 与 M 的一条边关联,则称 v 是 M—饱和的 设 M 是 G 的一个匹配,若 G 的每个顶点都是 M—饱和的,则 称 M 是 G 的理想匹配.
删去边(v1, v2), (v4, v5),加C3C入=2v=边1v13(vvv512,vv646v)v2,5(vvv314,vv414v)得1 到一个新 H 圈 C1 如图 b.
W(C3)=192.
C1=v1v4 v3 v2 v5 v6 v1.
图图ca
图图b d
用改良圈算法得到的结果几乎可以肯定不是最优的。为了得 到更高的精确度,可以选择不同的初始圈,重复进行几次算法, 以求得较精确的结果。这个算法的优劣程度有时能用 Kruskal 算 法加以说明。假设 C 是 G 中的最优圈。则对于任何顶点 v ,C v 是在 G v 中的 Hamilton 轨,因而也是 G v 的生成树。由此推知: 若 T 是 G v 中的最优树,同时 e 和 f 是和 v 关联的两条边,并使 得 w(e) w( f ) 尽可能小,则 w(T ) w(e) w( f ) 将是 w(C) 的一个 下界。这里介绍的方法已被进一步发展。圈的修改过程一次替换 三条边比一次仅替换两条边更为有效;然而,有点奇怪的是,进 一步推广这一想法,就不利了。
x,y E’, w(x,y)=mindG(x,y)
定理2 加权图 G 的最佳推销员回路的权与 G’的最佳 H 圈的权相同.
因此,在加权图中寻求最佳推销员回路的问题就可转化为在一个 完备加权图中寻求最佳哈密顿圈的问题,称为 TSP 问题.
TSP 近似算法包括构造型算法和改进型算法。构造型算法是按一 定规则一次性构造出一个解。而改进型算法则是以某一解作为出事解, 逐步迭代,改进解,是一种迭代法。一般是以构造型算法得到一个初 始解,然后再用改进型算法逐步改进。
例 对以下完备图,用二边逐次修正法求较优H圈.
解图图:bc任中中取初始 Hww圈((vv:11,C,vv053=))++v1wwv2((vvv243,,vvv645))v<<5wvw6((vvv111,,如vv65)图)++wwa.((vv23,,vv54)) 可删删知去去边边((vv11, ,vv65)),,(w(vv2(3,v,v1v,54)v),4加,)加+入入w边(边v2(,(vv115, ,)v<v53)w),(,((vvv214,,,vvv625)))得+得w到到(v一一4,个v个5)新新HH圈圈CC23如如图图cd..
(2)经过 G 的每边正好一次的巡回称为欧拉巡回.
(3)存在欧拉巡回的图称为欧拉图.
(4)经过 G 的每边正好一次的道路称为欧拉道路.
v1
e1
v2
v1
e1
v2
e4
e5 e2
v4
e3
v3
欧拉道路:v1e1v2e2v3e5v1e4v4e3v3 巡回:v1e1v2e2v3e5v1e4v4e3v3e5v1
e4 e6 e5
割边的定义:设G连通,e E(G),若从G中删除边e后,
图G-{e}不连通,则称边e为图G的割边.
v1
e1
v2
V5
e4
e5 e2
割边 e7
e8
v4
e3
e6 v3
V7 e9
V6
G的边e是割边的充要条件是e不含在G的圈中.
欧拉图
定义1 设 G=(V,E)是连通无向图
(1)经过 G 的每边至少一次的闭通路称为巡回.
(4)若巡视组数已定(如三组),要求尽快完成巡视,讨 论T,t和v改变时最佳巡视路线的影响。以下我们参考当 年的优秀答卷对这一问题作一分析。
一、关于问题的数学模型 • 本题给出了某县的道路交通网络图,要求的是在不同
的条件下,灾情巡视的最佳分组方案和路线。这是一 类图上的点的普遍性问题,也就是用若干条闭链覆盖 图上的所在顶点,关使某些指标达到最优。 • 点的遍历性问题在图论属于哈密顿问题和旅行推销员 问题。本题所求得分组巡视的最佳路线与多个旅行推 销员问题类似但也有不同,因为还有均衡性的要求。 由于旅行推销员问题属于NP-完全类,本题的规模比 较大(包括县城共有53个点),所以要想求出真正的 最优解是不现实的,为此只能针对具体问题,采取一 些启发式算法求得近似最优解。
H回路,长22
最佳推销员回路,长4
定理1 在加权图 G=(V,E)中,若对任意 x,y,z V,z x,z y,都有
w(x,y) w(x,z)+w(z,y),则图 G 的最佳 H 圈也是最佳推销员回路.
最佳推销员回路问题可转化为最佳 H 圈问题.方法是由给定的 图 G=(V,E)构造一个以 V 为顶点集的完备图 G’=(V,E’),E’的每条边 (x,y)的权等于顶点 x 与 y 在图中最短路的权.即:
常见的构造型算法是最小权匹配算法和对角线完全算法。 改进型算法:二边逐次修正法 现代算法:模拟退火法、弹性网法、蚁群算法、遗传算法。
推销员问题近似算法:二边逐次修正法:
(1)任取初始 H 圈: C0=v1,v2,…,vi, ,…,vj,…,vn,v1
(2)对所有的 i ,j,1<i+1<j<n,若 w(vi, vj)+w(vi+1,vj+1)<w(vi,vi+1)+w(vj,vj+1)