第六章(六)中国邮递员问题
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.中国邮递员问题(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 的边重复一次。
中国邮递员问题 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年毕业于华 东师范大学数学系。历任 山东师范大学讲师、副教 授、教授、校长,中国运 筹学会第一、二届常务理 事,山东省数学学会第四 届副理事长,山东省运筹 学会第一届副理事长,山 东省世界语协会理事长。 是第六届全国政协委员。 从事运筹学及其应用的研 究,对最短投递路线问题 的研究取得成果。所提模 型在国外称为中国投递问 题。
中国邮递员问题
中国邮递员问题第一篇:中国邮递员问题运筹学第六组运筹学个人心得之中国邮递员问题我们第六组做的第二次案例就是中国邮递员问题,这个问题是运筹学中的经典命题。
这个案例讲的是:在中国的六个县城,每个县城都有一个县局,县局下面设立若干个邮政所,每天邮递员的任务就是从县局出发,依次到每一个邮政所送邮件,要求每个邮政所都必须去,而且只能去一次。
这就涉及到一个路线的规划问题,怎么走才能使得邮递员走的路最少,而且能够完成任务。
在做题之前考虑了很久,真不知道从何着手,国为以前确实没有接触过这个类型的题,没有一个能够行得通的办法。
后来,我们选定了一个代表性的区域,来尝试求解,国为第六个区域的变量最多,所以就选择这个区域作为突破口。
只要第六个区域求解成功,其它五个区域便迎刃而解了。
首先,我们画了一个由第六区域的十七个点所组成的17*17矩阵,一一对应设定变量,在去除对角线的17个变量之后,我们得到272个变量。
这是一个非常庞大的变量群体,若按传统的线性规划方法求解,求解过程将会变得异常艰辛,而且以前的模板,求解工具都不能求解这么多变量。
所以我们一度陷入混乱,求解工作停滞不前。
后来老师在对这价目案例作初步的讲解的时候,提出了用运输模型来对这个问题进行求解,此话一出,真是如醍醐灌顶,酣畅极了,眼前简直豁然一亮,真想“拍案而起”。
若用运输模型求解,这个问题将会变得非常简单。
一方面由于每行的出发点只能有一个,而每列的终点也只能有一个,这样看来,邮运筹学第六组递员总是变成了一个产销平衡的运输问题,产量和销量都有是1。
这样我们就完成了求解工作,在第一次求解得出结论后,我们画了一个路线图,发现有几个两点循环,没有形成一条大通路,于是我们重新加入了两点循环约束,进行二次求解;在第二次求解完成后,我们又重新画了路线图,结果发现有四点循环于是我们又加入四点循环约束,进行第三次求解,在得到第三次求解的结果后,我们又画出了路线图,这次刚好形成了一个完整的通路,保证了邮递员每点都走到且行走的路线最合理。
中国邮递员问题——欧拉巡回
案例2:铲雪车的行驶路线问题
铲雪车的行驶路线问题(MCM 90B题)
返回
案例1:双车道公路扫雪模型
问题 某地区的双车道公路如图1的图G(单 位是千米),路上积满了雪 。一辆扫雪车从 v1点出发,扫除公路上的所有积雪,最后回 到v1 。 要求1) 请你为扫雪车选择一条路径,使它 经过的总路程最短。 要求2) 现在先进的喷气扫雪车只需沿公 路一侧行驶,就能清除两个车道的积雪。如 果改用喷气扫雪车来扫雪,再请你为它选择 一条路径,使它经过的总路程最短。
6 8 v4 5 7 3 v5
5 4
9 6 v9 1 v10 2 v15
v6 5 v12
v7
4 3
2 v8
3
v11 1 1 v13 v14
案例1:双车道公路扫雪模型
深度优先搜索法遍历求解
要求1)的解法2 还可用深度优先搜索法(迷宫法则),遍历所有边,且 每边正好来回各走一次。 迷宫任务:从迷宫入口处出发,每个走廊都要搜索,最后 再从入口出来.
求解中国邮递员问题的算法
最小权对集法(Edmonds) 设G是连通加权图。 1) 求G的所有奇次顶点之间的最短路径及其 长度; 2) 以G的所有奇次顶点为顶点集作一完全图, 各条边上的权赋为两端点在原图中的最短路径长度, 得到一个加权完全图,记为G1;求G1的最小权理想 匹配M, 得到奇次顶点的最佳配对; 3)在G中,沿最佳配对奇次顶点间的最短路径 添加重复边得欧拉图G*,G*的欧拉巡回即为所求。
基本概念与基本结论
无向图的情形
结论一:连通图G是欧拉图的充要条件是G无奇次顶 点。
结论二:连通图G有欧拉道路的充要条件是ቤተ መጻሕፍቲ ባይዱ最多有 两个奇次顶点。 结论三:任何无向图的奇次顶点数目必为偶数。
运筹学 中国邮递员问题
§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 的边重复一次。
01-中国邮递员问题
欧拉图及判定定理
顶点可能重复
一进一出
经过一次 且不重复
偶点
如果一个连通图有欧拉环游,即从某个顶点出发,经过该图所有边一次,且不 重复,最后回到出发点,则对中间经过的任一顶点都是一进一出,而出发点开始出 去最后又进来,也是一进一出。注意有的顶点可能有若干次一进一出。不论如何, 都意味着该图的每个顶点都应该是偶点(即进出总共偶数条边)。
中国邮递员问题
厦门大学数学科学学院 金贤安
引言
中 国 邮 递 员 问 题 是 由 山 东 师 范 大 学 管 梅 谷 同 志 1960年首先提出的。
这是数学中为数不多的几个以“中国”命名的问题 或定理之一。
该问题涉及著名的的哥尼斯堡(Königsberg) 七桥问题。
七桥问题是图论和拓扑学的起源。
以交叉路口为顶点,街道为边,街道的长度为边的权得 到 一赋权图,我们称之为街道图。 不妨设邮局在一条街道上。 若街道图是欧拉图,有欧拉环游,无需重复走街道,沿 着 一个欧拉环游作为投递路线即可。
中国邮递员问题
若街道图不是欧拉图,则有些街道需要重复 走,那么中国邮递员问题就变为:重复走哪 些街道,使总路程最短?
给定一个连通图,我们称经过图的所有边一次且只有一次 的走法为一个欧拉通路。
如果进一步该走法还回到出发点,则称之为欧拉环游(回 路)。
具有欧拉环游的图称之为欧拉图。
C
哥尼斯堡问题即图3是否是欧拉图的问题。
A
B
D
图3 七桥问题对应图
欧拉图及判定定理
一笔画问题:什么样的图形可以一笔画成,笔不离纸,而 且每条线都只画一次不准重复?
(1) 在最优方案中,对街道图的任意一边,所添加的平行边的次数不会超过1。 事实上,若在某可行方案中,对街道图的某边,所添加的平行边的次数 大于等于2,那么在该方案中去掉该边2次,将得到一个新的更优的可行 方案,矛盾。
中国邮递员问题小论文
中国邮递员问题摘要:一名邮递员带着要分发的邮件从邮局出发,经过要分发的每个街道,送完邮件后又返回邮局.如果他必须至少一次走过他管辖范围内的每一条街道,如何选择投递路线,使邮递员走尽可能少的路程.这个问题是由我国数学家管梅谷先生(山东师范大学数学系教授)在1962年首次提出的,因此在国际上称之为中国邮递员问题本文主要介绍了中国邮递员问题的基本分析、求解中国邮递员问题的方法以及有关欧拉回路的算法实现。
关键词:中国邮递员欧拉图欧拉回路一、中国邮递员问题的分析中国投递员问题是1960年我们从生产实际中提出的一个数学问题,它是从下述实际问题中抽象出来的:“一个投递员应该怎么选择一条线路,才能既把所有由他负责的信件都送到,而所走的路程又最短”。
在我们开始研究中国投递员问题以前,国外有人研究过所谓旅行售货员的问题,即:“一个售货员要到n个城市去售货,问他应该选择怎样的一条线路,才能既走遍所有城市,并且走的路程最短”。
这是一个著名的难题.当n较大时,即使使用大型电子计算机,也很难解决。
投递员面临的问题显然可以归纳为旅行售货员问题,事实上,只要把投递员必须送的每一个地点看成是一个城市就行了.但是一般来说,投递员每次要到约二、三百个地点送信,如果归纳为旅行售货员问题来解决,将是一个规模很大的问题,是无法解决的.但是,在仔细分析了投递员面临的问题后,我们发现这个问题具有一定的特点,即需要送信的地点一般都是比较密集的排列在街道上的,因此,实际上,我们称这个问题为“最短投递线路问题”,1965年后国外称之为“中国投递员问题”(这个问题是我国数学家管梅谷先生在20世纪60年代提出来的)用图论的语言来描述就是在一个带权图G中,能否找到一条回路C,使C包含G的每条边至少一次且C的长度最短?如若他所管辖的街道构成一欧拉回路,则这欧拉回路便是所求路径。
如若不然,即存在度数为奇数的顶点,必然有些街道需要多走至少一遍,这时用中国邮路问题算法可求出最短路径。
中国邮递员数学问题
中国邮递员数学问题
中国邮递员数学问题是一个著名的数学问题,也称为"中国邮递员问题"。
这个问题源于邮递员在担任邮递员工作时,需要沿着不同的街道进行投递。
邮递员必须走遍每一条街道至少一次,然后回到出发地点。
问题的目标是寻找一条最短的路径,使得邮递员能够满足投递的要求。
具体问题描述如下:给定一个城市的街道网络图,每条街道上都有一个正整数表示街道的长度。
邮递员需要从一个特定地点出发,沿着街道网络进行投递,然后回到出发地点。
要求邮递员经过的路径总长度最短。
这个问题属于旅行商问题的变种,是一个NP-完全问题。
因为问题规模较大,难以找到一个最优解。
因此,通常采用近似算法进行求解,如TSP(Traveling Salesman Problem)等。
邮递员问题在实际中有很多应用,比如快递员的路线规划、物流配送等。
解决这个问题可以提高物流效率,减少成本。
图论与网络模型_中国邮递员问题
Edmonds-Johnson 算法
有奇点的中国邮路问题,这种情形下,有的边要通过至少两次。下图中,边旁写的是权。
图3
(1)在图 3 中,奇点集合为
V 0={v1 , v2 , v3, v4}
(5,6),(9,7)。
邮递员问题
一位邮递员从邮局选好邮件去投递,然后返回邮局,他必须经过由他负责投递的每条街 道至少一次,为这位邮递员设计一条投递线路,使其耗时最少。
用图的语言来描述,就是给定一个连通图 G,在每条边 e 上有一个非负的权 w(e),要寻 求一个回路 W,经过 G 的每条边至少一次,并且回路 W 的总权数最小。
图论中的图是由点和点与点之间的线所组成的。 通常,我们把点与点之间不带箭头的线叫做边,带箭头的线叫做弧。
如果边 [ vi, v j]∈ E ,E 是边集合,那么称 vi, vj 是边的端点,或者称 vi, vj 是相邻的。 如果一个图 G 中,一条边的两个端点是相同的,那么称为这条边是环。 如果两个端点之间有两条以上的边,那么称为它们为多重边。 一个无环,无多重边的图标为简单图。 一个无环,有多重边的图标图称为多重图。
∑ w(e )=min
e∈W
如果 G 是欧拉图,则所求的 W 就是一条欧拉回路。 由于这个问题是我国菅梅谷同志于 1962 年首先提出来的,因此国际上长称它为中国邮递 员问题。
求无奇点连通图的中国邮递员问题的算法(Fleury 算法)
就是求欧拉回路。算法思想:“过河拆桥,尽量不走独木桥”。 例如,下图是欧拉图,设从 v1 开始,寻找一条欧拉回路,如果开始三步是 v1v3v2v1,那 么就失败了,因为回到 v1 之后发现左侧的 v3 上的边还没有用过,而 v1 的关联边已全用过, 不能从 v1 再去通过左侧那些未用过的边了(注意每边只能用一次)。
中国邮递员问题
(割边)
FE算法复习:
(1)任取 v0属于V(G),令W0=v0. (2)设行迹Wi=v0v1v2…vi已选定,则从E(G)-E(W)中 选一条边ei+1,使得ei+1与vi相关联,且非必要时, ei+1 不要选G-E(W)的桥(所谓桥是一条删除后使连通图 不再连通的边)。 (3)反复执行(2), 直至每边e属于E(G)皆入选为止。
情况2:加权图G中有奇次顶时中国邮路问 题的解法(某些边要通过两次)
解法步骤:设G是连通加权图 1)求G中奇次顶集合V0; 2)对V0中的每个顶对u,v,用Dijkstra算法求距离d(u,v); 3)构造加权完全图K|V0|,完全图中顶点即为V0中顶点,边uv 之权为d(u,v); 4)求加权图K|V0|的总权最小的完备匹配M。 5)在G中求M中同一边之端点间的最短轨。 6)把G中在(5)求得的每条最短轨之边变成同权倍边,得 Euler图G’. 7)用FE算法求G’的一条Euler回路W’,W’即为中国邮路。 实例探讨
中国邮递员问题--邮递员从选好邮件去投递,然后返回邮 局,必须经过由他负责的每条街道至少 一次,怎么走耗时最少?
情况 1:邮路可抽象为 Euler图,则所有路经过恰好一次。 情况 2:邮路抽象成的图 G中包含奇次顶。(有的路径需要 重复走)
情况1:仍要遵循一定规则走
定理6.3
若G是Euler图,FE算法终止时得 到的W是Euler回路。
本质:此算法能实现无重复边的一笔画,且
回到出发点。
证明思路 (1)证明是闭行迹。 (2)证明能够经过一切边。(反证不能经过一切边)
基本概念复习
行迹:各边相异的道路。 Euler行迹:在图G中含一切边的行迹。 Euler回路:含一切边的闭行迹。 Euler图:若G中存在Euler回路。
中国邮递员问题解法
中国邮递员问题解法中国邮递员问题是一个著名的组合优化问题,实际上是一个旅行商问题(Traveling Salesman Problem,TSP)的变种。
问题描述:给定一个城市集合和城市之间的距离矩阵,求解一个最短的邮递员路径,使邮递员能够从出发城市出发,经过每个城市恰好一次,最后回到出发城市。
解法:1.暴力搜索暴力搜索是最简单直观的解法。
遍历所有可能的路径,计算每个路径的总距离,最后选择最短的路径。
这种解法的时间复杂度为O(n!),随着城市数量的增加而急剧增加,效率非常低,只适用于小规模问题。
2.动态规划动态规划是一个更高效的解法。
使用一个二维数组dp[i][j]表示从城市i出发经过城市集合j的最短路径长度,其中j是一个二进制数,表示哪些城市已经访问过。
动态规划的转移方程为:dp[i][j] = min{dp[k][j XOR (1 << k)] + distance[i][k]},其中k表示已经访问的最后一个城市。
利用这个递推关系,可以逐步计算出dp[0][1<<n-1],即从城市0出发经过所有城市的最短路径。
最后,将此路径与每个城市的距离相加,得到最终的最短路径长度。
3.贪心算法贪心算法是一种更简单的解法。
首先选择一个起始城市,然后每次选择距离最近且未被访问过的城市,将其加入路径中。
重复此过程,直到访问完所有城市,然后回到起始城市。
这种解法的时间复杂度为O(n^2),但由于贪心策略的局限性(可能会出现回头或死胡同),所以得到的解并不一定是最优解。
以上是三种常用的解决中国邮递员问题的方法,具体可以根据实际情况选择合适的算法进行求解。
中国邮递员问题的求解实例
中国邮递员问题的求解实例前面已经讲过,对于欧拉图,可以直接用Fleury算法找出一条欧拉巡回路线;对于半欧拉图,可以先求出奇点u和v之间的最短路径P,令G =G P,贝U G *为欧拉图,然后用Fleury算法来确定一个G *的欧拉巡回,它就是G的最优巡回。
当G有2n个奇点(n>1),可以用Edmonds算法解决,步骤如下:(1) 用Floyd算法求出所有奇点之间的最短路径和距离矩阵。
(2) 用匈牙利法或0-1规划法求出所有奇点之间的最佳配对。
(3) 在原图上添加最佳配对所包含的两两顶点之间的最短路得到欧拉图G *。
⑷用Fleury算法确定一个G *的欧拉巡回,这就是G的最优巡回。
以上步骤的关键是找出2n个奇点的最佳配对,举例如下。
例图3是某区街道示意图,各边的长度数据如下表所示。
现在需要对每条街道找最优巡回,需要先求26个奇点的最佳配对。
先用Floyd算法求出所有42个顶点之间的最短路距离和路径。
程序如下:E=[1 2 10261 4 402........ 注:每一行代表一条边(两个顶点和边长),此处省略59行40 39 198];for i=1:42for j=1:42if j==ia(i,j)=0; elsea(i,j)=inf; end end endfor k=1:62 i=E(k,1);j=E(k,2);a(i,j)=E(k,3);a(j,i)=E(k,3); end[D,R]=floyd(a);图3某区街道示意图然后求26个奇点的最优配对,这可以用Lin go 求解,编写程序如下:MODEL: SETS:4U12°26"30 O3539 40413*27 21 4128* 3338仆2934O114251015• 1724,25201922 23 32313637dot/2,4,5,6,8,9,10,11,12,13,14,15,17,18,19,20,22,24,25,26,28,29,30,36,40,41/;LINKS(dot,dot)| &2 # GT # & 1:C,X;ENDSETSDATA:C=1319 1065 651 650 939 1228 1463 1500 1213 617 895 1590 1709 1377 1033 1112 1652 1761 1853 1418 1832 2124 2151 2479 1687254 668 1173 1462 1751 198 181 402 1140 1418 2113 453 601 945 1635 2175 2284 597 1941 2355 868 1463 1498 2104414 919 1208 1497 1732 435 148 886 1164 1859 679 347 691 1381 1921 2030 823 1687 2101 1094 1689 1724 1850505 794 1083 1318 849 562 472 750 1445 1058 726 382 967 1507 1616 1202 1273 1687 1473 2005 2103 1541289 578 813 1354 1067 471 245 940 1563 1231 887 462 1002 1111 1707 768 1182 1978 2005 2333 1541 289 524 1643 1356 760 534 651 1852 1520 1176 504 828 886 1996 594 1008 2267 2197 2525 1733235 1932 1645 1049 823 362 2141 1809 1465 793 706 597 2285 883 890 2556 2486 2814 20222167 1880 1284 1058 163 2376 2044 1700 1028 507 398 2520 1105 691 2766 2658 2986 2194306 1321 1599 2294 272 505 849 1571 2111 2220 416 1877 2291 687 1282 1317 20081034 1312 2007 531 199 543 1265 1805 1914 675 1571 1985 946 1541 1576 1702360 1411 1203 871 527 577 1117 1226 1347 883 1297 1618 1534 1862 10701101 1563 1231 887 217 757 866 1707 523 937 1978 1894 2222 14302282 1950 1606 884 344 235 2426 942 528 2603 2495 2823 2031332 676 1398 1938 2047 144 1704 2118 415 1010 1045 1824344 1066 1606 1715 476 1372 1786 747 1342 1377 1503722 1262 1371 820 1028 1442 1091 1623 1721 1159540 649 1542 306 720 1813 1729 2057 1265109 2082 598 184 **** **** 2479 16872191 707 293 2368 2260 2588 17961848 2262 271 866 901 1680414 1711 1603 1931 11392075 1967 2295 1503595 630 1409360 832792;ENDDATA图4 26个奇点的最优配对MIN=@SUM(LINKS:C *X);@FOR(LINKS:@BIN(X));@FOR(dot(l):@SUM(LINKS(J,K)| J #EQ# I #OR# K #EQ# I:X(J,K))=1);END运行以上程序,得到最优配对结果为:2与6、4与12、5与13、8与9、10与11、14 与15、17 与25、18 与26、19 与20、22 与28、24 与29、30 与36、40 与41。
Chap.6-邮递员问题
11
6.中国邮递员问题 6.中国邮递员问题
v1
5 2
v8
3
4
v7
3 4
v2
5
6
v9
4
v6
4 4
v3
9
v4
v5
图8.29
12
6.中国邮递员问题 6.中国邮递员问题
在连接 v2 和 v4 的链中任取一条,比如链 ( v2,v1,v8,v7,v6,v5,v4 ) , 在 加 入 重 复 边 [v2,v1],[v1,v8],[v8,v7],[v7,v6],[v6,v5],[v5,v4 ]. 同 样 , 任 取 连 接 v6 和 v8 的 一 条 链 (v8,v1,v2,v3,v4,v5,v6), 在 加 入 重 复 边 [v8,v1],[v1,v2],[v2,v3],[v3,v4],[v4,v5],[v5,v6 ].于是,得到图8.30 在连通图8.30中,没有奇点,故它是欧拉 图。对于这条邮递路线,重复边的总长 为:2W12+W23+W34+2W45+2W56+W67+W78+2W18=51。
6
6.中国邮递员问题 6.中国邮递员问题
v1-v2-v4-v3-v2-v4-v6-v5-v4-v6-v5-v3-v1,
总长是12。 也可以按照另一条路线走:
v1-v2-v3-v2-v4-v5-v6-v4-v3-v5-v3-v1,
总长是11。 按 照 第 1 条 路 线 走 , 在 边 [v2,v4],[v4,v6],[v6,v5]上各走3两次,按照 第2条路线走,在边[v3,v2],[v3,v5]上各走了 两次。
15
6.中国邮递员问题 6.中国邮递员问题
中国邮递员问题的应用
题目:姓名:学号:班级:前 言我们在生活中都与中国邮递员有了一定的接触,那么什么是中国邮递员?中国邮递员问题产生于1960年,它讨论的主要内容是:“一个投递员应该如何选择线路,才能把所有的由他负责的信件都送到,而且所走的路线又是最短的。
我国管梅谷教授1962变首先并提出了中国邮递员问题的原始模型。
然而在我们研究中国邮递员以前,国外有很多人士研究了所谓的旅行售货员问题:“一个售货员要到n 个城市去售货,问其应该如何的选择路线才能一条路的走完所有的城市,且路程是最短的。
”当n 增大到一定程度的时候我们将难以解决。
所以我们这里的中国投递员的问题也相当于旅行售后员一条线走完所有城市的问题,只要将所有的城市的点换成了我们所要投递的点就可以了。
事实上就是告诉你几个点和几条边及其权重,就其求出某点到某点的最短路的问题。
摘 要图论在各个领域都有着广泛的应用,在单循道路的寻早上早已经开始应用。
对于中国邮递员等的问题,我们可以用边着色理论和Euler 理论来解决,这里本文将应用于实践,将理论性问题用到福建省漳平市的邮递员发送派件的应走得道路方式。
本文将应用Fluery 算法来求解最终得到与本文所要寻找的问题的结果。
关键词:图论;EULER ;FLEURY 算法;邮递员1.知识简介EULER 环游]1[:一条闭途径如果通过图中每条边至少一次就称为环游,图中的每条边恰一次的比途径就称之为EULER 环游,有EULER 环游的图称之为EULER 图。
FLEURY 算法]1[(过河拆桥,尽量不走独木桥):(1)任取一点0v ,令00w v =。
(2)若迹k k k v e v e 110v w =已经取定,选},,,{e \E e 211k k e e ∈+使得①1e +k 与k v 相关联。
②除非无奈,选1e +k 使它不是},,,{G 21k k e e e G -=的割边。
(3)若(2)不能再进行下去,那么就终止。
免费)中国邮递员问题
v 7 3 v 6
6
4
4 9 v 4
图4
4 4 v 5
检查图4中圈(v1,v2, v9, v6,v7, v8,v1)
的总长度为24,但圈上重复边总权为13, 大于该圈总长度的一半,因此可以做一次 调整,使重复边总长度下降为15。见图5。
v1 5 v2 5 v3
2
v8 3 v9 4
2
v 8 3 v 9
4
v 7 3 v 6
6
4
4 9 v 4
图3
4 4 v 5
第二步:调整可行方案
而给原来没有重复边的边上加上重复边, 图中仍然没有奇点。因而如果在某个圈上 重复边的总权数大于这个圈的总权数的一 半,像上面所说的那样做一次调整,将会 得到一个总权下降的可行方案。
其次,如果把图中某个圈上的重复边去掉,
18世纪著名古典数学问题之一。在哥尼斯
堡的一个公园里,有七座桥将普雷格尔河 中两个岛以及岛与河岸连接起来(如图)。 问是否可能从这四块陆地中任一块出发, 恰好通过每座桥一次,再回到起点?
欧拉于1736年研究并解决了此问题, 他
用点表示岛和陆地,两点之间的连线表示 连接它们的桥,将河流、小岛和桥简化为 一个网络,把七桥问题化成判断连通网络 能否一笔画的问题。之后他发表一篇论文, 证明了上述走法是不可能的。并且给出了 连通网络可一笔画的充要条件这一著名的 结论。
v 1 3
v2
2
4
v 3
2 v4
5 6 4
v5
8 v6
4
如果在某条路线中,边[vi,vj]上重复走几次,
我们就在图中vi,vj之间增加几条边,令每条边 的权和原来的权相等,并把所增加的边,称为 重复边,于是这条路线就是相应的新图中的尤 拉图。 原来的问题可以叙述为在一个有奇点的图中, 要求增加一些重复边,使新图不含奇点,并且 重复边的总权为最小。 我们把使新图不含奇点而增加的重复边简称为 可行(重复边)方案,使总权最小的可行方案 为最优方案。
中国邮递员问题
– 第四步:检查有重复边的线路是否是多余的。即检查重复边的两端是 否已有其他线路相连通,如有的话,可将重复边连同原边从线路图中 删去。发现重复边V4V5的两端可通过其他线路相连,可将V4V5及重复 边一起从线路图中删去。即可得送货线路如下:V0—V1—V2—V3— V5—V6—V10—V9—V12—V7—V8—V12—V9—V4—V11—V1—V0。线 路的总长度减少为215千米。总长度较前减少了20千米。
A
6
2 2 I 5 4
H 1
4
G 1 F 5
J 3 K 2
D
3
B 3 C
5
E
图中重复边的总距离W1为18<23(总距离的一半),为可行解; 检查是否每一个闭合圈的重复边的总距离都小于该闭合圈的总距离 的一半。 在圈(A,B,K,J,I,H)中,重复边总距离为8,小于该圈总距离19 的一半,满足要求,不需改进;在圈(B,C,D,K)中,不需改进; 在圈(D,E,F,J)中,不满足要求需改进
A 6 B 3 C 4 5
2
2 I
H 1 J 3 K 2 D
4 3
G 1 F 5
5
E
阅读推荐
1、《物流管理实务》,梁金萍 主编,清华大学出 版社,2010。 2、《运筹学》
– 第二步:考虑到从配货中心出发的送货车辆,在送完所有的门店货物 后,仍需要返回配货中心,故再需对生成的最小树采用中国邮递员线 路的算法进行扩充。 奇点有:V0,V1,V3,V4,V6,V7,V8,V9,V10,V12。故需增加边 V3V5,重复边V0V1,V5V6,V4V9,V9V10,V7V12,V8V12,V9V12等 7条。 粗线部分已给出了送货车量从配送中心出发,送货到10家门店后返回 配货中心的具体路线。即可为:V0—V1—V2—V3—V5—V6—V5—V4— V9—V10—V9—V12—V7—V12—V8—V12—V9—V4—V11—V1—V0。线 路的总长度为251千米。
对“中国邮递员问题”的数理分析
一位邮递员从邮局出发投递邮件,经过他所管辖的每条街道至少一次,然后回到邮局。
请为他选择一条路线,使其所行路程尽可能短。
如何找到这条最短的路线,本文将逐步分析讨论这个问题。
与上述问题类似的是一个哥尼斯堡七桥问题。
在18世纪,东普鲁士有个城市叫哥尼斯堡,普瑞格尔河横贯其境,河中有两个美丽的小岛,全城有七座桥将河的两岸与河中两岛沟通,市民们喜欢四处散步,于是便产生这样的问题:是否可以设计一种方案,使得人们从自己家里出发,经过每座桥恰好一次,最后回到家里。
热衷于这个有趣问题的人们试图解决它,但没有人能给出答案,后来数学家欧拉证明了这样的散步是不可能的。
下面我们把上述七桥问题转化为图论问题:一个连通图G由有限结点与连接这些结点的若干条互不相交的边组成,能否做一条连续的曲线,使得这条曲线走过所有的边恰好一次。
定义经过图G的每条边恰好一次的迹称为图G 的欧拉迹。
图 G 的环游是指经过图 G 每条边至少一次的闭途径,欧拉环游是指经过图 G 每条边恰好一次的环游。
一个图若包含欧拉环游,则这个图称为欧拉图。
定理 1 一个非空连通图是欧拉图当且仅当它没有奇点。
证明必要性:设图 G 是一个欧拉图,C 是图 G 中一个欧拉环游,其起点(也是终点)为 u。
对于 Av∈V(G),v 必在 C 上出现。
因 C 每经过 v 一次,就有两条与 v 关联的边被使用。
因为欧拉环游包含图 G 的每条边,所以对于所有的v≠u,d(v)都是偶数。
类似的,由于 C 开始终止于u,所以d(u)也是偶数。
所以,图 G 没有奇点。
充分性:无妨设ν(G)>1.因 G 连通且无奇点,故δ(G)≥2,因而必含有圈.当ν(G)=2 时,设仅有的两点为 u、v,则 u、v 间必有偶数条边,它们显然构成欧拉回路.假设ν(G)=k 时,结论成立.当ν(G)=k+1 时,任取 v∈V(G).令 S={v 的所有关联边}.记S 中的边为e1、e2、…、em,其中 m=d(v)为偶数.记 G'= G \ v。
第六章(六)中国邮递员问题
若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中恰有两个奇点
第六节 中国邮递员问题
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)所示的赋权图,构造 总权数最小的闭的欧拉链.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
再把 C从C1的v2点处插C入 1,即得所求欧拉回路
{v3,e3,v4,e9,v 2 ,e 1 ,v 5 0 ,e 5 ,v 6 ,e 6 ,v 1 ,e7,v5,e4,v4,e8,v1,e 1 ,v 2 , e2 , v3}
例:判断下图是否为欧拉图,若是,求出欧拉回路
• • • v 1
e1 e6
若vi 是C的中间点v, i 每出现一次,必关联两条边 如 C : { v 1 , e 1 , v 2 , e 2 , v 3 , v i 1 , e i 1 , v i , e i , v i 1 , , v 1 } d(vi )为偶, 数即vi为偶点
若vi 是C的起点v,i 也是C的终点, vi必关联两条边
Байду номын сангаас
推论 无向连通图G有欧拉道路的充要条件 是G中恰有两个奇点
证明:充分性v: i ,v设 j是G的奇点, 在G上增加一e条 (v边 i ,vj ), 则G中无奇点,所以G存在欧拉回C路 去掉C中的边e,即得以vi为起点,vj为终点的欧拉道路
必要性G : 有设 一条 vi为 以起,v点 j为终点的欧L拉道 在G上增加一e条 (v边 i,vj), 得连通图 G, 把边 e加到 L中得 G的一条欧拉 C,回 即G路 为欧拉图 d(v)为偶 ,v 数 G 在 G 中,,d(vi ),d(vj )为奇数
Euler circuit and Chinese Postman Problem
※歌尼斯堡七桥难题
普莱格尔河
七桥问题的数学模型:
用A、B表示两座小岛,C、D表示两岸, 连线AB表示A、B之间有一座桥。
C•
A•
•B
•
问题简化为:
D
在该图中,从任一点出发,能否通过每条线段 一次且仅仅一次后又回到原来的出发点
在 G中, G以 与 C2的公共 v1为 顶起 点点取一C 个 3
简单 C 3 : {回 v1,e7,v路 5,e4,v4,e8,v1}
v1 e1
• •• v 6
e6
e8
e5
e7
v
5
e10
e
4
G
• v 2
•e 9 e 2 v 3 • • • e 3
v6
•v 4
v1 e1
e6
e8
e5
e7
v
e10
5
e4
记 G GC 1 ( V, E)E, EE1,V是E中边的端 在 G中, G与 以 C1的公共 v2为 顶起 点点取一C 个 2 简
简单 C 2 : { v 2 ,回 e 1,0 v 5 ,e 5 路 ,v 6 ,e 6 ,v 1 ,e 1 ,v 2 }
记 G G C 2 ( V, E ) E, EE1, V是 E中边的
•v 1 e 1
e5 e6
•v 5 e 4
•v 2 • e 2 v 3
v•4 e 3
存在
v 2到
v
的
4
一条欧拉道路:
v•1 e 1 •v 2
• e 4 e 2
v3
v•4 e 3
存在
v
到
3
v
的
4
一条欧拉道路:
• e 2 v 1 e 1 •v 2
•v 3
e3
•v 4
任两点之间都不 存在欧拉道路
{ v 2 ,e 1 ,v 1 ,e 5 ,v 4 ,e 3 ,v 3 ,e 2 ,v 2 ,e 6 ,v 5 ,e 4 ,v 4 } {v3,e3,v4,e2,v2,e1,v1,e4,v4}
v1 e1
• •• v 6
e6
e8
e5
e7
v
5
e10
e
4
v2
v1 e1
• • e 9 e 2 v 3 • • e 3
• • v 4
v6
e6
e8
e5
e7
v
5
e10
e4
•v 2 v•4
•v 1
e8 e7
•v 5 e 4 v•4
G
G
G
把C3从C2的v1点处插 C2, 入得一简单 C,回路
C : { v 2 ,e 1 ,v 0 5 ,e 5 ,v 6 ,e 6 ,v 1 ,e7,v5,e4,v4,e8,v1,e 1 ,v 2 }
d(vi )为偶数 ,即vi为偶点
充分性:若无向连通图G=(V,E)中无奇点,则G为欧拉图
例: G 连通, d(vi )为偶数
v1 e1
• •• v 6
e6
e8
e5
e7
v
5
e10
e
4
•v 2 • e 9 e 2 v 3 v•4 e 3
G
任取一点,如v3,找一个以v3为起点的一个简单回C1路 简单 C 1 : {v 回 3,e3,v路 4,e9,v2,e2,v3}
• 欧拉回路:
欧拉图
圈
设G是一个无向连存 通在 图一 ,个 若回路 G中 ,的 经 每一条边一次, 且则 仅称 一这 次个回回 路路 为欧
v•1 e 1
e6
e5
•v 5 e 4
•v 2 • e 7 e 2 v 3 v•4 e 3
存在欧拉回路:
{ v 1 ,e 1 ,v 2 ,e 2 ,v 3 ,e 3 ,v 4 ,e 7 ,v 2 ,e 5 ,v 5 ,e 4 ,v 4 ,e 6 ,v 1 }
v2 e2 v3
e4 e3 e7
•v 5 e 5 v•4
•v 3
e4
e7
•v 5 e 5 v•4
C 1 : { v 1 ,e 1 ,v 2 ,e 2 ,v 3 ,e 3 ,v 4 ,e 6 ,v 1
C 2 : v 3 ,e 7 ,v 4 ,e 5 ,v 5 ,e 4 ,v 3
欧拉回路 :
{v1,e1,v2,e2,v3,e7,v4,e5,v5,e4,v3,e3,v4,e6,v1
结论:不存在这样一种走法。
类似的问题:一笔画问题
图的一笔画: 可一笔画
不可一笔画
字的一笔画:如“中、日、口、串”等可一笔画 而:“田、目”等不能一笔画
6.6.1 欧拉图与中国邮递员问题 开
• 欧拉道路: 一笔画问题
链
设G是一个无向连存 通在 图一 ,条 若道路 G中 ,的 经 每一条边一次, 且则 仅称 一这 次条道道 路路 为欧
该图特点:d(vi )均为偶数
v•1 e 1 v•2
e4
e5
e2
v
•
3
e3
v•4
该图不存在欧拉回路
存在奇点
定理 无向连通图G为欧拉图的 充要条件是G中无奇点
证明:必要性
已知G=(V,E)为欧拉图,即存在一条欧拉回路C, C经过G的每一条边,由于G为连通图, 所以G中的每个点至少在C中出现一次
对vi V
G
•v 2 v•4
•v 1
e8 e7
•v 5 e 4 v•4
G
简单 C 1 : {v 回 3,e3,v路 4,e9,v2,e2,v3}
简单 C 2 : { v 2 ,回 e 1,0 v 5 ,e 5 路 ,v 6 ,e 6 ,v 1 ,e 1 ,v 2 }
简单 C 3 : {回 v1,e7,v路 5,e4,v4,e8,v1}