第六章(六)中国邮递员问题
6-5中国邮递员问题

Xi'an post and telecommunications university modern post College
第六章 图与网络
主讲教师 武小平
主要内容
1 欧拉回路与道路
2 奇偶点表上作业法
运
筹
3 中国邮递员问题求解
学
1 欧拉回路与道路
1、 连通图G中,若存在一条道路,经过每边一次且 仅一次,则称这条路为欧拉道路。若存在一条回路,经过 每边一次且仅一次,则称这条回路为欧拉回路。
4
v1
9
v4
4
v7
图5
v3 5 v2
5
v1
2 v6 4
3
6
4
v5
4
9
v4 4
图6
v9 3 v8 4
v7
v3 5 v2 5
v1
2 v6 4
63
4
v5
4
v9
3 v8 4
9
v4
4
v7
图7
v3 2 v6 4
5
v2
6
5
3 4
v5 4
v9
3 v8 4
v1
9
v4
4
v7
图8
v3 2 v6 4
5
v2
6
5
3 4
v5 4
判定标准2 : 在最优邮递员路线上,图中每一个圈的重
复边总权小于或等于该圈总权的一半。
3 中国邮递员问题求解
例1 求解下图5所示网络的中国邮路问题,
图中数字为该边的长。
v3 2 v6 4 v9
5
3
v2
6 v5
运筹学课件4.8 中国邮递员问题

哥尼斯堡七桥问题与欧拉图 中国邮递员问题 求解中国邮递员问题的奇偶点图作业法 奇偶点图作业法的改进方法
一、哥尼斯堡七桥问题与欧拉图
哥尼斯堡七桥问题 欧拉图与一笔画问题
A
A C B 哥尼斯堡七桥问题 C D
D
B
二、中国邮递员问题
1962年,管梅谷先生提出 中国邮递员问题 若图中无奇点,欧拉圈即为所求 若图中有奇点,则奇点必为偶数,在奇点间加边 (重复走),使其变为偶数而成欧拉图。 中国邮递员问题是要求所加边的权之和最小。
三、求解中国邮递员问题的奇偶点图作业法
在奇点间加边,构造初始可行方案。 寻找改进可行方案:在两奇点间检查所有链,若 某链的长度小于已加重复边的长度,则在该链的 每边加上重复边,去掉原重复边。 重复以上步骤,直到任意两奇点间加重复边的链 是最短的为止。
求解中国邮递员问题:例子
v2
1 2 3 6
v3
4 2
5 1 2 2
v1
v6
v4
3
v5
例子的初始可行解
v2
1 2 3 6
v3
v4
4 2 3
5 1 2 2
5
v1
v6
2
v5
例子的修正解
v2
1 1 2 3 6
v3
v4
4 2 3
5 1 2 2 2
v1
v6
v5Leabharlann 四、奇偶点作业法的改进方法
奇偶点作业法的瓶颈是需检查太多的链 可以首先求出任意一对奇点之间的最短路, 从中选出总路长最小的组合方案。 也可以由奇点构成偶图,求最小匹配得到 最优解。
运筹学 中国邮递员问题

§4.中国邮递员问题(Chinese Postman Problem)1.问题的提出例5. 一个邮递员从邮局出发投递信件, 然后再返回邮局, 如果他必须至少一次地走过他负责投递范围内的每条街道, 街道路线如下图所示, 问选择怎样的路线才能使所走的路为最短?5 6 78问题的图论表述:在赋权G=[V, E]上找一条经每条边至少一次的权最小的圈。
1960年山东师范学院管梅谷教授首先提出此问题,并设计了一个“奇偶点表上作业法”,后来发现此法不是多项式算法,1973年,Edmonds和Johnson给出一个多项式算法。
2.哥尼斯堡七桥问题18世纪在哥尼斯堡城(今俄罗斯加里宁格勒)的普莱格尔河上有7座桥,将河中的两个岛和河岸连结,如下图所示。
城中的居民经常沿河过桥散步,于是提出了一个问题:能否一次走遍7座桥,而每座桥只许通过一次,最后仍回到起始地点。
3.Euler圈Euler圈:经图G的每条边的简单圈Euler图:具有Euler圈的图Euler图非Euler图下面讨论的图G允许有重边,且重边被认为是有区别的边。
伪Euler 圈:经图G 的每条边至少一次的圈点v 的次:与点V 关联的边的数目奇(偶)点:该点的次为奇(偶)数命题1:G 的奇点个数为偶数命题2:G 中有伪Euler 圈 ⇔ G 无奇点中国邮递员问题可表述为:在图G 中找一条权最小的伪Euler 圈。
对于邮递员来说,有些街道可能会重复走,原问题便转化为尽可能少走重复的 街道。
我们将这些重复的边组成的集合称可行集,即找最小的可行集。
命题3:E *是最小可行集 ⇔ωωμμμ()()()()*()*()e e e E E E e E E ≤∑∑∀μ∈∩∈∩\初等圈重复的边 非重复的边4.算法思路由命题1,简单图G 的奇点个数为偶数,可设为v 1 , v 2 , …, v 2k , 对每个1≤ i ≤k, 找v 2i − 1 至v 2i 的链p i ,将p i 的边重复一次。
第六章(六)中国邮递员问题

若vi 是C的起点v,i也是C的终点,vi必关联两条边
d (vi )为偶数,即vi为偶点
该图特点:d (vi )均为偶数
v•1 e1 v•2
e4
e5 e2
v•3 e3 v•4
该图不存在欧拉回路
存在奇点
定理 无向连通图G为欧拉图的 充要条件是G中无
奇证点明:必要性
已知G=(V,E)为欧拉图,即存在一条欧拉回路C,
C经过G的每一条边, 由于G为连通图,
所以G中的每个点至少在C中出现一次
对vi V
结论:不存在这样一种走法。
类似的问题:一笔画问题
图的一笔画: 可一笔画
不可一笔画
字的一笔画:如“中、日、口、串”等可一笔画 而:“田、目”等不能一笔画
6.6.1 欧拉图与中国邮递员问题 开
•欧拉道路: 一笔画问题
链
设G是一个无向连通图,若存在一条道路,经过G中的 每一条边一次且仅一次,则称这条道路为欧拉道路
Euler circuit and Chinese Postman Problem
※歌尼斯堡七桥难题
普莱格尔河
七桥问题的数学模型:
用A、B表示两座小岛,C、D表示两岸,
连线AB表示A、B之间有一座桥。
C•
A•
•B
问题简化为:
D•
在该图中,从任一点出发,能否通过每条线段 一次且仅仅一次后又回到原来的出发点
推论 无向连通图G有欧拉道路的充要条件 是G中恰有两个奇点
中国邮递员问题 ppt课件

中国邮递员问题
管梅谷教授首先提出的方法是奇偶点图上作业 法(1962年)
Edmonds,Johnson(1973年)给出有效算法。
复杂度为 O(|V(G)|2|E(G)|)
中国邮递员问题
中国邮递员问题
解决这样的问题,可以采用奇偶 点图上作业法:如果在配送范围 内,街道中没有奇点,那么他就 可以从配送中心出发,走过每条 街道一次,且仅一次,最后回到 配送中心,这样他所走的路程也 就是最短的路程。
原来的问题可以叙述为在一个有奇点的图中, 要求增加一些重复边,使新图不含奇点,并且 重复边的总权为最小。
我们把使新图不含奇点而增加的重复边简称为 可行(重复边)方案,使总权最小的可行方案 为最优方案。
现在的问题是第一个可行方案如何确定? 在确定一个可行方案后,怎么判断这个方案是
否为最优方案? 若不是最优方案,如何调整这个方案?
Fleury算法的复杂度是 O(| E(G)|2)
中国邮递员问题
求欧拉回路的算法(回路算法)
算法思想: 首先得到一个回路C1, 再在剩
下的图G- C1中求一条与C1有公共顶点的
回路C2, 则C1与 C2构成一个更长的回路,
继续下去可得到含所有边恰好一次的回
路. 回路算法的复杂度是
O(|
E(G) |)
这个问题就是一笔画问题。
中国邮递员问题
管梅谷教授。
上海市人。1957年毕业于华 东师范大学数学系。历任 山东师范大学讲师、副教 授、教授、校长,中国运 筹学会第一、二届常务理 事,山东省数学学会第四 届副理事长,山东省运筹 学会第一届副理事长,山 东省世界语协会理事长。 是第六届全国政协委员。 从事运筹学及其应用的研 究,对最短投递路线问题 的研究取得成果。所提模 型在国外称为中国投递问 题。
第六节 中国邮递员问题

e4
3
4
e3
e4
e1
V4 V2
3
4
e3
2
V2
e2
2
e5
V3
1
e2
2
e5
V3
1
e1
V4
(b)
8 30(a )
V1
V1
2
e4
3
4
e3
e4
e1
V4 V2
3
4
e3
2
V2
e2
2
e5
V3
1
e2
2
e5
V3
1
e1
V4
(d )
(c )
②
赋权图G的每个闭链上,
重复边权之和不超过该闭链总权数的一半
或该闭链中非重复边权之和. 设重复边权之和为a,非重复边权之和为b:
1 a (a b ) 2
ab
作业
195页
习题8
8.3题
第六节 中国邮递员问题 所谓中国邮递员问题,用图的语言来描 述,就是给定一个赋权连通图G ,要寻求一 个圈,使得经过G的每条边至少一次,并且 圈的总圈数最小。
这个问题是由我国数学家管梅谷教授于 1962年首先提出来的,因此称为“中国邮路 问题”. 这个问题和所谓的“一笔画问题”联系密切 。
8. 6. 1 一笔画问题
定理 8.6
加边法化欧拉图的原则和方法是:
在赋权图G的一些边上,加且仅加一条重 复边,使图G的每个顶点成为偶次顶点 ;
①
赋权图G的每个闭链上,重复边权之和不 超过该闭链总权数的一半或该闭链中非重复 边权之和.
②
例8.8 设有图 8-30(a)所示的赋权图,构造 总权数最小的闭的欧拉链.
中国邮路问题

定理:设P是加权连通图G中一条包含G的所有边 至少一次的闭链,则P最优的充要条件是 (1)P中没有二重以上的边; (2)在G的每条圈C中,重复边集E的长度之和不超过这 个圈长度的一半。
f: " "
( 1 )若P中存在重数大于 2的边,则删去 2条后得到的图仍为欧拉 图, 一直做下去,最终得到 的边数一定为 1条或2条。
②如果连通图不是欧拉图。 由于图G有偶数个奇度数顶点,对于任两个奇度数顶点x 和y,在G中必有一条路连接。 将这条路上的每条边改为二重边得到的新图 H1 ,则x 和y就变为H1 的偶度数顶点,在这条路上的其他顶点的度 数均增加2,即奇偶性不变。 于是 H1 的奇顶点个数比G的奇顶点个数少2,对H1 重 复上述过程得H 2 ,再对H 2 重复上述过程得H 3 ,……,经 若干次后,可将G中所有奇度数顶点变为偶度数顶点,从 而得到多重欧拉图G'。 这个欧拉图G'的一条欧拉回路就相应于中国邮递员问题 的一个可行解,且欧拉回路的长度等于G的所有边的长 度加上每次连奇度数顶点的路的长度。
2.3.3 中国邮递员问题
• 一名邮递员负责投递某个街区的邮件。如何为他(她)设 计一条最短的投递路线(从邮局出发,经过投递区内每条 街道至少一次,最后返回邮局)?
描述为图论语言:
在连通加权无向图G中,寻找一条经过每边至少一次 且权和最小的闭链,即G的最优环游。
①如果对应的图G是欧拉图,那么对应于邮局的顶点出发的 任何一条欧拉回路都是符合上述要求的投递员的最优投递 路线。 如果图G只有两个奇度数顶点x和y,则存在一条以x和 y为端点的欧拉路。因此,所要求的最优投递路线是由这 条欧拉路+边{x,y}。
奇偶点图上作业法
• 把G 中的所有奇度数顶点配成对,将每对奇度数顶点之间 的路上的每边改为二重边,得到一个新图G1 ,新图 G1 中没 有奇度数顶点,即 G1为欧拉图。 • 若 G1中某一对顶点之间有多于2两条边连接,则去掉其中 的偶数条边,留下1条或2条边连接这两个顶点,直到每一 对相邻顶点至多由2条边连接,得到图G2 。 • 检查G2 的每一个圈C,若某一个圈上重复边的权和超过此 圈权和的一半,则将C按定理1必要性的证明过程进行调 整,重复这一过程,直到对G2 的所有圈,其重复边的权和 不超过此圈权和的一半,得到G 。 3 • 用Fleury算法求G3 的欧拉回路。
网络优化模型-中国邮递员问题

中国邮递员问题及其网络模型
问题: 问题: 一名邮递员带着要分发的邮件从邮局出发, 经过要分发的每条街道,送完邮件后又返回邮 局.如果他必须至少一次走过他管辖范围内的 每一条街道,如何选择投递路线,使邮递员走 尽可能短的路程. 这个问题是由我国数学家管梅谷教授在 1962年首次提出并研究的,因此在国际上称之 1962年首次提出并研究的,因此在国际上称之 为中国邮递员问题.
AUMCM1990AUMCM1990-B AUMCM1991AUMCM1991-B AUMCM1994AUMCM1994-B AUMCM2000AUMCM2000-B
扫雪问题 通讯网络的极小生成树 计算机网络的文件传输 无线电信道的分配
求解中国邮递员问题的算法
如果中国邮递员问题中的图是欧拉 图,那么欧拉回路就是最优回路。 一般情形下(不是欧拉图),最优 回路包含某些边至少两次。这时求最优 回路的思想是:在图G 回路的思想是:在图G中添加一些重复边 使新图G*成为欧拉图,且使得所有添加 使新图G*成为欧拉图,且使得所有添加 的重复边的权和最小。再由G*的欧拉回 的重复边的权和最小。再由G*的欧拉回 路得到G 路得到G的最优回路。
求解中国邮递员问题的算法
管梅谷首先提出的方法是奇偶点图上作业法 (1962年) 1962年) Edmonds,Johnson(1973年)给出有效算法。 Edmonds,Johnson(1973年)给出有效算法。 复杂度为 O(| V(G)|2| E(G)|)
求解中国邮递员问题的算法 ( Edmonds,Johnson,1973年) Edmonds,Johnson,1973年)
欧拉图及求欧拉回路的算法
求欧拉回路的算法(回路算法) 求欧拉回路的算法(回路算法) 算法思想: 首先得到一个回路C 算法思想: 首先得到一个回路C1, 再在剩 下的图G 下的图G- C1中求一条与C1有公共顶点的 中求一条与C 回路C 回路C2, 则C1与 C2构成一个更长的回路, 构成一个更长的回路, 继续下去可得到含所有边恰好一次的回 路. 回路算法的复杂度是 O(| E (G) |) 注意到上述两算法都是在连通欧拉图中 求欧拉回路的算法. 求欧拉回路的算法.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v1
1
•
1
1
v2
1
•
1 1 1
v3
•
1
• v4
1
• v5
• v6
G1
对路线 C 2: v1 v 4 v 2 v 4 v 5 v 3 v 6 v 5 v 2 v 3 v 2 v1 重复边:( 2,v4),( 2,v3) v v
v1
1
•
1
1
v2
1
•
1 1 1
• v6
结论: 对任意一个含奇点的邮路图G,由于奇点的个
数为偶数个,把每两个配成一对,由于G为连 通图,每对奇点之间至少存在一条链,对该条 链上的每一条边增加一条重复边,可得一欧拉 图,该欧拉图对应一条投递路线 寻找最佳投递路线方法: 在原邮路图上增加一些重复边得一个欧拉图,, 在所得欧拉图上找出一条欧拉回路。计算重复边 的权和,重复边权和最小欧拉回路既为所求的最 佳投递路线 管梅谷——奇偶点图上作业法
• D
类似的问题:一笔画问题
图的一笔画: 可一笔画 不可一笔画
字的一笔画:如“中、日、口、串”等可一笔画 而:“田、目”等不能一笔画
6.6.1 欧拉图与中国邮递员问题
• 欧拉道路: 一笔画问题 设G是一个无向连通图,若 存在一条道路,经过 G中的 每一条边一次且仅一次 ,则称这条道路为欧拉 道路
v3
•
1
且 G 2 为欧拉图, C 2 为 G 2的一条欧拉回路
一条投递路线对应一个 欧拉图 且投递路线为该图的一 条欧拉回路
• v4
1
• v5
• v6
G2
反之,对邮路图G,
v1
1
•
1
1
v2
1
•
1 1 1
v3
•
1
任取奇点 v 4到v3的一条链
如: v 4 , v 5 , v 6 , v 3
• v4
例:设 G为邮路图,其中 v1为邮局 ∵ d ( v 3 ), d ( v 4 )为奇数 , G 不是欧拉图
∴ G 不存在欧拉回路,
v1
1
•
1
1
v2
1
•
1 1 1
v3
•
1
• v5 v 6 • • v4 即不存在每条街道走一次且只走一次的投递路线
1
路线 C 1: v1 v 2 v 3 v 6 v 5 v 4 v1 v 2 v 3 v 5 v 2 v 4 v1 路线 C 2: v1 v 4 v 2 v 4 v 5 v 3 v 6 v 5 v 2 v 3 v 2 v1
简单回路 C 3: 1 , e7 , v5 , e 4 , v 4 , e8 , v1 } {v
v6
e6
5
v1 e1 •
e8
e7
•e
e9
v2
•e
2
G G′ 把 C 3 从 C 2的 v1点处插入 C 2,得一简单回路 C,
•5 v
e10
e4
• v4
e3
v •3
e6
v1 e1 •
e8
e7
• • v4
v2
1
• v5
• v6
v2
1
G
对该链上的每一条边增加一条重复边 v1 G ′为欧拉图 , 即 G ′存在欧拉回路
即G ′对应一条投递路线 C
C: v1 v 2 v 3 v 6 v 3 v 5 v 6 v 5 v 2 v 4 v 5 v 4 v1
•
1
1
•
1 1 1
v3
•
1
1
• v4
1
投递路线
欧拉图
G′
• v5
5
v1 e1 •
e8
v6
•e
e9
v2
e6
2
v1 e1 •
e8 e7
• • v4
v2
•e
e7
v1
8
•e
e7
•5 v
e10
e4
G
• v4
e3
v •3 v6•
e5
•5 v
e10
e4
•5 v
G′
G′′
e4
• v4
简单回路C1: 3 , e3 , v 4 , e9 , v 2 , e2 , v3 } {v 简单回路 C 2: 2 , e10 , v5 , e5 , v 6 , e6 , v1 , e1 , v 2 } {v
v2
v35
5
•
6 9
•
v5 v4
4
• • 3 3
4
•4 • 4
v9
v8
•
G2
•
•
v1
G2是欧拉图, 重复边权和=21
v2
5
•
6 9
2
v6 v5
• • 3 3
4 4 4
v7
•
v35
2、使图中每个初等圈重复边的 权和不大于该圈权和的一半 G3是欧拉图, 重复边权和=17
v •3 e
3
2
G
任取一点,如 v 3, 找一个以 v 3为起点的一个简单回路 C1 简单回路C1: 3 , e3 , v 4 , e9 , v 2 , e2 , v3 } {v
记G′ = G − C1 = V ′,E′), ′ = E − E1,V ′是E ′中边的端点 ( E 在G ′中,以G ′与C1的公共顶点v 2为起点取一个简单回路C 2 简单回路 C 2: 2 , e10 , v5 , e5 , v 6 , e6 , v1 , e1 , v 2 } {v
例:判断下图是否为欧拉图,若是,求出欧拉回路
e1
e6
v1
•
•
•5 v
v2 e2
e4
e5
v •3
e3
v •3
e7
• v4
•5 v
}
e4
• e5 v4
e7
C1 : {v1 , e1 , v 2 , e2 , v3 , e3 , v 4 , e6 , v1
C2 :
{ v3 , e7 , v4 , e5 , v5 , e4 , v3 }
则G ′中无奇点, 所以G ′存在欧拉回路C 去掉C中的边e, 即得以vi 为起点, v j 为终点的欧拉道路
必要性:设G有一条以vi 为起点, v j 为终点的欧拉道路L
在G上增加一条边e = (vi , v j ), 得连通图G ′, 把边 e加到 L中得 G ′的一条欧拉回路 C ,即G ′为欧拉图 ∴ d ( v )为偶数 , v ∈ G ′ 在G中,d ( v i ), d ( v j )为奇数 ,
证明:必要性 已知G=(V,E)为欧拉图,即存在一条欧拉回路C, C经过G的每一条边, 由于G为连通图, 所以G中的每个点至少在C中出现一次
对∀vi ∈ V
v 若 v i 是 C 的中间点,i 每出现一次,必关联两 条边 如 C : 1 , e1 , v 2 , e 2 , v 3 ⋯ , v i −1 , e i −1 , v i , e i , v i + 1 , ⋯ , v 1 } {v ∴ d ( v i )为偶数,即 v i 为偶点
可一笔画
不可一笔画
不可一笔画
中 日 白 田 回
不连通
6.6.2 中国邮路问题
提出问题的人:管梅谷教授 时间:1962年 提出的问题: 一个邮递员从邮局出发分送邮件,要走完他负责 投递的所有街道,最后再返回邮局,应如何选择 投递路线,才能使所走的路线最短? 邮路问题的图论描述: 在G上找一个圈, 取一无向赋权连通图G=(V,E) 该圈过每边至少 E中的每一条边对应一条街道 一次,且圈上所 每条边的非负权l(e)=街道的长度 有边的权和最小
v 若 v i 是 C 的起点,i 也是 C 的终点, i必关联两条边 v
∴ d ( v i )为偶数 ,即 v i 为偶点
充分性: 若无向连通图G=(V,E)中无奇点,则G为欧拉图 例: G 连通,d ( v i )为偶数
v1 e1 •
e8
v6
e6
5
•e
e9
v2
•e
e7
•5 v
e10
e4
• v4
欧拉回路 :
{v1 , e1 , v 2 , e2 , v3 , e7 , v4 , e5 , v5 , e4 , v3 , e3 , v4 , e6 , v1
}
推论 无向连通图G有欧拉道路的充要条件 是G中恰有两个奇点
证明:充分性:设vi , v j 是G的奇点, 在G上增加一条边e = (vi , v j ),
•
•
v9
•
有奇点: 把所有奇点两两配成一对,每对奇点找一条链, 在该条链上的每一条边增加一条重复边,得一 个欧拉图G1, 由G1所确定的欧拉回路即为一 个可行方案 G中有奇点:v2 ,v4 ,v6 ,v8 取v2到v4的一条链: v2v1v6v7v8v9v4 取v6到v8的一条链: v6v1v2v3v4v9v8
开 链
v1 e1 •
e5
•e
v2
2
v1
•
e1 e4
•
e2
v2 v •3 •3 v e
3
•5 v
e6
e4
• v4
e3
v •3
e2
v1
•
e1 e3
•
v2
• v4
•4 vΒιβλιοθήκη 存在 v 2到v 4的 一条欧拉道路:
存在 v 3到v 4的 任两点之间都不 一条欧拉道路: 存在欧拉道路
{v2 ,e1,v1,e5,v4 ,e3,v3,e2,v2,e6 ,v5,e4,v4}