中国邮递员问题的应用

合集下载

基于某中国的邮递员问的题目地物流配送线路优化

基于某中国的邮递员问的题目地物流配送线路优化

基于中国邮递员问题的物流配送线路优化[摘要]:针对物流配送的线路优化问题,以配送总路程最小为目标,在充分考虑中国邮递员问题的基础上,寻求求解优化方案以及建立线路优化模型。

[关键词]:线路优化中国邮递员问题最小树法优化模型1.引言随着市场竞争的日益加剧、世界经济一体化的程度的加快和科学技术的飞速发展,许多企业已经把物流作为提高竞争力和提升核心的竞争能力的重要手段,将先进的物流理论和物流技术引入企业的生产和经营管理中。

这一产业在我国现今还处于发展阶段,与国外物流业相比,我国物流业自身存在的一些问题逐渐对企业自身的发展和盈利造成了瓶颈。

在众多的问题中,物流效率问题是较为突出的一个。

而物流网络是否科学健全又是决定物流效率的关键一环,作为实现物流合理化的重要内容和手段,研究物流配送路径有助于企业降低物流成本,提高运作效率,全面提高顾客满意度,使企业在现今物流业服务竞争逐渐激烈的环境下站稳脚跟,让企业获得更多的利润和更为长远的发展。

用图的语言来描述物流线路优化问题,就是给定一个连通图G,在每条边上有一个非负的权,要寻求一个圈,经过G的每条边至少一次,并且圈的权数最小。

这个问题是由我国管梅谷同志于1962年首先提出来的,因此国际上称它为中国邮递员问题。

2.问题描述中国邮递员问题的描述:一个邮递员送信,在邮局里挑选出他所有负责的街区的各条街道的邮件,并按一定的次序排列,然后按一定路线投递这些邮件,最后返回邮局。

自然邮递员必须走过他负责的街区的每一条街道至少一次,并希望选择一条总路程最短的投递路线。

下面我们介绍一下图论问题中的定义和定理。

定义1:在一个多重边的连通图中,从某个顶点出发,经过不同的线路,又回到原出发点,这样的线路称为欧拉图。

定义2:设G是一个无向连通图,若存在一个回路,经过G中的每一条边一次且仅一次,则称这个同路为欧拉回路:定义3:设G足一个无向连通图,若在G中通过某顶点的弧的个数为偶数时,这个顶点被称为偶点,否则被称为奇点。

中国邮递员问题小论文

中国邮递员问题小论文

中国邮递员问题摘要:一名邮递员带着要分发的邮件从邮局出发,经过要分发的每个街道,送完邮件后又返回邮局.如果他必须至少一次走过他管辖范围内的每一条街道,如何选择投递路线,使邮递员走尽可能少的路程.这个问题是由我国数学家管梅谷先生(山东师范大学数学系教授)在1962年首次提出的,因此在国际上称之为中国邮递员问题本文主要介绍了中国邮递员问题的基本分析、求解中国邮递员问题的方法以及有关欧拉回路的算法实现。

关键词:中国邮递员欧拉图欧拉回路一、中国邮递员问题的分析中国投递员问题是1960年我们从生产实际中提出的一个数学问题,它是从下述实际问题中抽象出来的:“一个投递员应该怎么选择一条线路,才能既把所有由他负责的信件都送到,而所走的路程又最短”。

在我们开始研究中国投递员问题以前,国外有人研究过所谓旅行售货员的问题,即:“一个售货员要到n个城市去售货,问他应该选择怎样的一条线路,才能既走遍所有城市,并且走的路程最短”。

这是一个著名的难题.当n较大时,即使使用大型电子计算机,也很难解决。

投递员面临的问题显然可以归纳为旅行售货员问题,事实上,只要把投递员必须送的每一个地点看成是一个城市就行了.但是一般来说,投递员每次要到约二、三百个地点送信,如果归纳为旅行售货员问题来解决,将是一个规模很大的问题,是无法解决的.但是,在仔细分析了投递员面临的问题后,我们发现这个问题具有一定的特点,即需要送信的地点一般都是比较密集的排列在街道上的,因此,实际上,我们称这个问题为“最短投递线路问题”,1965年后国外称之为“中国投递员问题”(这个问题是我国数学家管梅谷先生在20世纪60年代提出来的)用图论的语言来描述就是在一个带权图G中,能否找到一条回路C,使C包含G的每条边至少一次且C的长度最短?如若他所管辖的街道构成一欧拉回路,则这欧拉回路便是所求路径。

如若不然,即存在度数为奇数的顶点,必然有些街道需要多走至少一遍,这时用中国邮路问题算法可求出最短路径。

邮差问题算法

邮差问题算法

邮差问题算法【实用版】目录1.邮差问题的定义与背景2.邮差问题的数学模型3.邮差问题的算法解决方案4.邮差问题算法的应用案例5.总结正文1.邮差问题的定义与背景邮差问题,又称为邮递员问题,是图论中的基本问题之一。

这个问题可以追溯到 1960 年,当时我国数学家管梅谷首次对其进行了研究。

邮差问题的背景是这样的:假设有一个邮递员从邮局出发,他需要将信件送到辖区内的每条街道,并且每条街道至少要经过一次,最后再返回邮局。

那么,在这个条件下,如何选择一条最短的路线呢?这个问题就是邮差问题。

2.邮差问题的数学模型为了更好地理解邮差问题,我们可以将其抽象为一个图论模型。

在这个模型中,邮局作为图的一个顶点,每条街道作为图的一条边,而邮递员需要经过的街道就是图中的路径。

目标是找到一条从邮局出发,经过所有街道一次后返回邮局的最短路径。

3.邮差问题的算法解决方案针对邮差问题,有多种算法可以求解。

这里我们介绍两种常用的算法:欧拉回路算法和 Hamilton 回路算法。

欧拉回路算法:欧拉回路是指在一个图中,经过每条边一次且回到起点的路径。

欧拉回路算法可以解决邮差问题,其基本思想是:从任意一个顶点出发,尝试遍历所有顶点,如果遇到已经访问过的顶点,则尝试回溯,直至找到一条欧拉回路。

Hamilton 回路算法:Hamilton 回路是指在一个图中,经过每条边恰好一次且回到起点的路径。

与欧拉回路算法类似,Hamilton 回路算法也是从任意一个顶点出发,尝试遍历所有顶点。

不同之处在于,当遇到已经访问过的顶点时,算法会尝试通过一个尚未访问的顶点回到起点,以形成一个 Hamilton 回路。

4.邮差问题算法的应用案例邮差问题算法在实际生活中有很多应用,例如物流配送、DNA 测序、无线通信等。

以物流配送为例,假设有一个物流公司需要在若干个仓库之间运送货物,每个仓库至少要经过一次,那么如何规划路线才能使得总路程最短呢?这时,邮差问题算法就可以派上用场。

中国邮路问题

中国邮路问题
3 5 1 2 2 3 1 2 3 6 3 5 1 2 2
3 1 2 3 6
思考: 思考:如何求恰好有 2k (k > 0) 个奇点的赋权图的最优 环游? 环游? 中国邮路问题的一个好算法是Edmonds Edmonds提出的最小 注:中国邮路问题的一个好算法是Edmonds提出的最小 匹配算法。 匹配算法。
例1 下图(a)给出赋权图G , , x, l和m 是G 的四个奇点。根据 v 上述算法,求下图的最优环游。
u
1
v
5
1
w
7
5
x
6
2
y
2
z
8
4
m
6
3
t
l
4
k
(a)
v 解:根据上述算法(1),把x 和 m 配对,和l 配对,取 P = xtlkzm , 1 并对 P 中每条边各添加一条边;又取P2 = vwzkl ,并对 P2 中每条 1 边各添加一条边。得图(b).依次按算法,得到图(c),(d),(e)
u
1
v
5
1
w
7
u
1
v
5
1
w
7
5
5
4
m
x
6
2
y
2
z
8
x
6
2
y
2
z
8
4
m
6
3
6
3
1
t
u
l
4
1
k
t
u
l
4
1
k
1
(b) v
5
w
7
(c ) v
5
w
7

运筹学课件4.8 中国邮递员问题

运筹学课件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 四、奇偶点作业法的改进方法
奇偶点作业法的瓶颈是需检查太多的链 可以首先求出任意一对奇点之间的最短路, 从中选出总路长最小的组合方案。 也可以由奇点构成偶图,求最小匹配得到 最优解。

第六节 中国邮递员问题

第六节 中国邮递员问题
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
(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:
赋权图g的每个闭链上重复边权之和不超过该闭链总权数的一半或该闭链中非重复边权之和例例8888设有图830a所示的赋权图构造总权数最小的闭的欧拉链214321v2v3v4v1e2e3e4e5e214321v2v3v4v1e2e3e4e5e214321v2v3v4v1e2e3e4e5e2v214321v3v4v1e2e3e4e5ea830bcd赋权图g的每个闭链上重复边权之和不超过该闭链总权数的一半或该闭链中非重复边权之和设重复边权之和为a非重复边权之和为b
定理 8.6
加边法化欧拉图的原则和方法是:
在赋权图G的一些边上,加且仅加一条重 复边,使图G的每个顶点成为偶次顶点 ;

赋权图G的每个闭链上,重复边权之和不 超过该闭链总权数的一半或该闭链中非重复 边权之和.

例8.8 设有图 8-30(a)所示的赋权图,构造 总权数最小的闭的欧拉链.

运筹学 中国邮递员问题

运筹学 中国邮递员问题

§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课件

中国邮递员问题 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年毕业于华 东师范大学数学系。历任 山东师范大学讲师、副教 授、教授、校长,中国运 筹学会第一、二届常务理 事,山东省数学学会第四 届副理事长,山东省运筹 学会第一届副理事长,山 东省世界语协会理事长。 是第六届全国政协委员。 从事运筹学及其应用的研 究,对最短投递路线问题 的研究取得成果。所提模 型在国外称为中国投递问 题。

网络优化模型-中国邮递员问题

网络优化模型-中国邮递员问题

中国邮递员问题及其网络模型
问题: 问题: 一名邮递员带着要分发的邮件从邮局出发, 经过要分发的每条街道,送完邮件后又返回邮 局.如果他必须至少一次走过他管辖范围内的 每一条街道,如何选择投递路线,使邮递员走 尽可能短的路程. 这个问题是由我国数学家管梅谷教授在 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) |) 注意到上述两算法都是在连通欧拉图中 求欧拉回路的算法. 求欧拉回路的算法.

中国邮递员问题小论文

中国邮递员问题小论文

中国邮递员问题摘要:一名邮递员带着要分发的邮件从邮局出发,经过要分发的每个街道,送完邮件后又返回邮局.如果他必须至少一次走过他管辖范围内的每一条街道,如何选择投递路线,使邮递员走尽可能少的路程.这个问题是由我国数学家管梅谷先生(山东师范大学数学系教授)在1962年首次提出的,因此在国际上称之为中国邮递员问题本文主要介绍了中国邮递员问题的基本分析、求解中国邮递员问题的方法以及有关欧拉回路的算法实现。

关键词:中国邮递员欧拉图欧拉回路一、中国邮递员问题的分析中国投递员问题是1960年我们从生产实际中提出的一个数学问题,它是从下述实际问题中抽象出来的:“一个投递员应该怎么选择一条线路,才能既把所有由他负责的信件都送到,而所走的路程又最短”。

在我们开始研究中国投递员问题以前,国外有人研究过所谓旅行售货员的问题,即:“一个售货员要到n个城市去售货,问他应该选择怎样的一条线路,才能既走遍所有城市,并且走的路程最短”。

这是一个著名的难题.当n较大时,即使使用大型电子计算机,也很难解决。

投递员面临的问题显然可以归纳为旅行售货员问题,事实上,只要把投递员必须送的每一个地点看成是一个城市就行了.但是一般来说,投递员每次要到约二、三百个地点送信,如果归纳为旅行售货员问题来解决,将是一个规模很大的问题,是无法解决的.但是,在仔细分析了投递员面临的问题后,我们发现这个问题具有一定的特点,即需要送信的地点一般都是比较密集的排列在街道上的,因此,实际上,我们称这个问题为“最短投递线路问题”,1965年后国外称之为“中国投递员问题”(这个问题是我国数学家管梅谷先生在20世纪60年代提出来的)用图论的语言来描述就是在一个带权图G中,能否找到一条回路C,使C包含G的每条边至少一次且C的长度最短?如若他所管辖的街道构成一欧拉回路,则这欧拉回路便是所求路径。

如若不然,即存在度数为奇数的顶点,必然有些街道需要多走至少一遍,这时用中国邮路问题算法可求出最短路径。

中国邮递员数学问题

中国邮递员数学问题

中国邮递员数学问题
中国邮递员数学问题是一个著名的数学问题,也称为"中国邮递员问题"。

这个问题源于邮递员在担任邮递员工作时,需要沿着不同的街道进行投递。

邮递员必须走遍每一条街道至少一次,然后回到出发地点。

问题的目标是寻找一条最短的路径,使得邮递员能够满足投递的要求。

具体问题描述如下:给定一个城市的街道网络图,每条街道上都有一个正整数表示街道的长度。

邮递员需要从一个特定地点出发,沿着街道网络进行投递,然后回到出发地点。

要求邮递员经过的路径总长度最短。

这个问题属于旅行商问题的变种,是一个NP-完全问题。

因为问题规模较大,难以找到一个最优解。

因此,通常采用近似算法进行求解,如TSP(Traveling Salesman Problem)等。

邮递员问题在实际中有很多应用,比如快递员的路线规划、物流配送等。

解决这个问题可以提高物流效率,减少成本。

中国邮递员问题

中国邮递员问题

管梅谷
管梅谷教授。 上海市人。1957年毕业于华 东师范大学数学系。历任 山东师范大学讲师、副教 授、教授、校长,中国运 筹学会第一、二届常务理 事,山东省数学学会第四 届副理事长,山东省运筹 学会第一届副理事长,山 东省世界语协会理事长。 是第六届全国政协委员。 从事运筹学及其应用的研 究,对最短投递路线问题 的研究取得成果。所提模 型在国外称为中国投递问 题。
求解。
推广的中国邮递员问题: 混合图的中国邮递员问题,有各种限制 的中国邮递员问题,动态网络的中国邮 递员问题。 其他相关问题-旅行售货员(TSP)问题, 灾清巡视路线。

谢谢!
v1 2 5 v2 5 9 v3 v4 图2 3 v8
4
3
v7
6
v9 4 4 4
v6
4
v5

这样就得到初始方案.在这个图中,没有奇点, 故称它为欧拉图。对应于这个可行方案,重复 边总权为51。
思考



这样的可行方案是不是只有一种呢? 在确定一个可行方案后,怎么判断这个方案是 否为最优方案? 若不是最优方案,如何调整这个方案?

欧拉图及求欧拉回路的算法
欧拉行迹—含所有边恰好一次的行迹 欧拉回路—含所有边恰好一次的回路 欧拉图—存在欧拉回路的图

设G是连通图, 下列命题等价: (1) G是欧拉图. (2) 每个顶点的度数都是偶数. (3) G是两两无公共边的圈的并.
欧拉图及求欧拉回路的算法
求欧拉回路的算法(Fleury算法,1921年) 算法思想: “过河拆桥,尽量不走独木桥”. 即若已选定迹 Wi v0e1v1e2 eivi , 从 G Wi 中选 取下一条边 ei 1 使得ei 1 与 vi 相关联, 且ei 1 不是 G Wi 的桥, 除非无边可选.

中国邮递员问题算法

中国邮递员问题算法

G-E(C)仍然无奇数度结点。
?
由于G是连通的,C中应至少存在一点v,使G-
E(C)中有一条包含v的回路C′。(见示意图)
2019/7/8

计算机学院
7
C
v
C'
这样,就可以构造出一条由C和C′组成的 G的回路,其包含的边数比C多,与假设矛盾。 因此,C必是Euler回路,结论成立。
2019/7/8
计算机学院
类似于无向图的讨论,对有向图我们有以下 结论: 定理13-1.2 ⅰ)有向连通图G含有有向欧拉道路,当且仅当
除了两个结点以外,其余结点的入度等于出度, 而这两个例外的结点中,一个结点的入度比出 度大1,另一个结点的出度比入度大1。 ⅱ)有向连通图G含有有向欧拉回路,当且仅当G 中的所有结点的入度等于出度。
计算机学院
16
显然,当这个图是欧拉图时,任何一条欧拉回路都 符合要求;当这个图不是欧拉图时,所求回路必然要重复 通过某些边。
对此,管梅谷曾证明,若图的边数为m,则所求回 路的长度最小是m,最多不超过2m,并且每条边在其中 最多出现两次。中国邮递员问题,一般为在带权连通图 中找一条包括全部边的且权最小的关回键路是。:复制哪些边?
V6
d(V2,V5)=3, d(V3,V5)=4
G
各路径:V1V2(3),V3V5(4)—7
V1V3(5),V2V5(3)—8
V1
V1V5(4),V2V3(2)—6
∴两条长度最短P1=V1V7V5,P2=V2V3
3.构造G’的任一E图就是中国邮递员 V6
问题的解。
G′
V2
3
2
1 3
3 6
V3
3
V7
7

中国邮递员问题的应用

中国邮递员问题的应用

题目:姓名:学号:班级:前 言我们在生活中都与中国邮递员有了一定的接触,那么什么是中国邮递员?中国邮递员问题产生于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)不能再进行下去,那么就终止。

关于中国邮递员问题和欧拉图应用

关于中国邮递员问题和欧拉图应用

关于中国邮递员问题和欧拉图应用中国邮递员问题:1962年有管梅谷先生提出中国邮递员问题(简称CPP)。

一个邮递员从邮局出发,要走完他所管辖的每一条街道,可重复走一条街道,然后返回邮局。

任何选择一条尽可能短的路线。

这个问题可以转化为:给定一个具有非负权的赋权图G,(1)用添加重复边的方法求G的一个Euler赋权母图G*,使得尽可能小。

(2)求G*的Euler 环游。

人们也开始关注另一类似问题,旅行商问题(简称TSP)。

TSP是点路优化问题,它是NPC 的。

而CPP是弧路优化问题,该问题有几种变形,与加权图奇点的最小完全匹配或网络流等价,有多项式算法。

[1]欧拉图:图G中经过每条边一次并且仅一次的回路称作欧拉回路。

存在欧拉回路的图称为欧拉图。

无向图欧拉图判定:无向图G为欧拉图,当且仅当G为连通图且所有顶点的度为偶数。

有向图欧拉图判定:有向图G为欧拉图,当且仅当G的基图[2]连通,且所有顶点的入度等于出度。

欧拉回路性质:性质1设C是欧拉图G中的一个简单回路,将C中的边从图G中删去得到一个新的图G’,则G’的每一个极大连通子图都有一条欧拉回路。

性质2设C1、C2是图G的两个没有公共边,但有至少一个公共顶点的简单回路,我们可以将它们合并成一个新的简单回路C’。

欧拉回路算法:1 在图G中任意找一个回路C;2 将图G中属于回路C的边删除;3 在残留图的各极大连通子图中分别寻找欧拉回路;4 将各极大连通子图的欧拉回路合并到C中得到图G的欧拉回路。

由于该算法执行过程中每条边最多访问两次,因此该算法的时间复杂度为O(|E|)。

如果使用递归形式,得注意|E|的问题。

使用非递归形式防止栈溢出。

如果图是有向图,我们仍然可以使用以上算法。

/showproblem.php?pid=1116 有向图欧拉图和半欧拉图判定/JudgeOnline/problem?id=2337 输出路径中国邮递员问题①:一个邮递员从邮局出发,要走完他所管辖的每一条街道,可重复走一条街道,然后返回邮局。

行遍性问题

行遍性问题

定义 在加权图G=(V,E)中, (1)权最小的哈密尔顿圈称为最佳 圈. 最佳H圈 最佳 (2)经过每个顶点至少一次的权最小的闭通路称为最 最 佳推销员回路. 佳推销员回路 一般说来,最佳哈密尔顿圈不一定是最佳推销员回 路,同样最佳推销员回路也不一定是最佳哈密尔顿圈.
H回路,长22
最佳推销员回路,长4
算法步骤: 算法步骤:
(1)用 Floyd 算法求出的所有奇次顶点之间的最短路径和距离.
(2)以 G 的所有奇次顶点为顶点集(个数为偶数) ,作一完备图, 边上的权为两端点在原图 G 中的最短距离, 将此完备加权图记为 G1.
(3)用Edmonds算法求出G1的最小权理想匹配 最小权理想匹配M,得到奇次顶点的 最小权理想匹配 最佳配对.
返回
(二)推销员问题
流动推销员需要访问某地区的所有城镇,最后回到出 发点.问如何安排旅行路线使总行程最小.这就是推销 推销 员问题. 员问题 若用顶点表示城镇,边表示连接两城镇的路,边上的 权表示距离(或时间、费用),于是推销员问题就成为 在加权图中寻找一条经过每个顶点至少一次的最短闭通 路问题.
返回
二、推 销 员 问 题 (一)哈密尔顿图
定义 设G=(V,E)是连通无向图 1 2 3 经过G的每个顶点正好一次的路径,称为G的一条哈密尔顿路径 哈密尔顿路径. 哈密尔顿路径 经过G的每个顶点正好一次的圈,称为G的哈密尔顿圈 哈密尔顿圈或H圈. 哈密尔顿圈 含H圈的图称为哈密尔顿图 哈密尔顿图或H图. 哈密尔顿图 图
用 Floyd 算法求出ቤተ መጻሕፍቲ ባይዱ们之间的最短路径和距离:
2.以 v4、v7、v8、v9 为顶点,它们之间的距离为边权构造完备图 G1.
3.求出 G1 的最小权完美匹配 M={(v4,,v7),(v8,v9)}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:姓名:学号:班级:前 言我们在生活中都与中国邮递员有了一定的接触,那么什么是中国邮递员?中国邮递员问题产生于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)不能再进行下去,那么就终止。

2.实际应用2.2.1问题综述福建省漳平市全市辖有2个街道、8个镇、6个乡:菁城街道、桂林街道、新桥镇、双洋镇、永福镇、溪南镇、和平镇、拱桥镇、象湖镇、赤水镇、芦芝乡、西元乡、南洋乡、官田乡、吾祠乡、灵地乡,在这16个地点里每个地点都有一个邮局。

我们将这些地点分别用1~16表示,于是我们通过调查每个地方的距离可以的到如下的简略图(实际距离是下面数值的五倍,单位:/公里)。

图1.各镇关系和距离图2.2.1模型构建根据上面的图形我们可以得到权值矩阵:⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=08.3000000000006008.30000006.8000000000000010000007000000005.309009.3008.80000005.3000000000008.20010000000000002.100009000000002.300006.800000000200000000000000002.80002.40009.3000000005.1202.13.1000000020000007.70007000002.800000000008.8002.3005.120005.4006000000000005.4000000002.10002.17.700008.000008.20002.43.100008.00D 2.2.3结果用MATLAB 编程得到如下结果:T =1 72 1 8 5 14 11 2 6 9 15 1634 10 13 4 7 13 128 5 14 11 2 6 9 15 16 3 4 10 13 4 7 13 12 1 7 2 1C=110.22.2.4结论所有当市邮局总部派某邮递员派送的时候,此邮递员可以按照:菁城街道->和平镇->桂林街道->菁城街道->>拱桥镇->永福镇->官田乡->芦之乡->桂林街道->溪南镇-->象湖镇->吾池乡->灵地乡->新桥镇->双洋镇->赤水镇->南洋镇->双洋镇->和平镇->南洋镇->西元乡->菁城街道(既是出发点也是终点) 可以从结果看出邮递员所要走得路线为551公里。

4.结束语当今我国正处于高速发展的阶段,信息产业日新月异,在这其中电子商业突起,网上购物人数的数量也不断的处于上升阶段。

对于与之相关的产业也是提出了更为严峻性的考验,对于如何设计才能使得邮递员少走弯路,用最快的方式将派件送到客户手中成了一个关键性的问题。

应用于图论的相关理论,我们可以很好的解决这个问题。

参考文献:[1].孙惠泉.图论及其应用.北京东黄城根北街16号:科学出版社.2005年3月附录jisuan.md=[0 0.8 0 0 0 0 1.3 4.2 0 0 0 2.8 0 0 0 0;0.8 0 0 0 0 7.7 1.2 0 0 0 1.2 0 0 0 0 0;0 0 0 4.5 0 0 0 0 0 0 0 0 0 0 0 6;0 0 4.5 0 0 0 7.5 0 0 3.2 0 0 8.8 0 0 0;0 0 0 0 0 0 0 8.2 0 0 0 0 0 7 0 0;0 7.7 0 0 0 0 0 0 2 0 0 0 0 0 0 0;1.3 1.2 0 12.5 0 0 0 0 0 0 0 03.9 0 0 0 ;4.2 0 0 0 8.2 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 2 0 0 0 0 0 0 0 0 8.6 0;0 0 0 3.2 0 0 0 0 0 0 0 0 9 0 0 0 ;0 1.2 0 0 0 0 0 0 0 0 0 0 0 10 0 0 ;2.8 0 0 0 0 0 0 0 0 0 0 03.5 0 0 0 ;0 0 0 8.8 0 0 3.9 0 0 9 0 3.5 0 0 0 0 ;0 0 0 0 7 0 0 0 0 0 10 0 0 0 0 0;0 0 0 0 0 0 0 0 8.6 0 0 0 0 0 0 3.8;0 0 6 0 0 0 0 0 0 0 0 0 0 0 3.8 0];fleufl.m[T c]=fleuf1(d)function [T c]=fleuf1(d)%d表示图的权值矩阵%T表示边集合%c表示权重和n=length(d);b=d;b(b==inf)=0;b(b~=0)=1;m=0;a=sum(b);eds=sum(a)/2;ed=zeros(2,eds);vexs=zeros(1,eds+1);matr=b;for i=1:nif mod(a(i),2)==1m=m+1;endendif m~=0fprintf('there is not exist Euler path.\n'); T=0;c=0;endif m==0vet=1;flag=0;t1=find(matr(vet,:)==1);for ii=1:length(t1)ed(:,1)=[vet,t1(ii)];vexs(1,1)=vet;vexs(1,2)=t1(ii);matr(vexs(1,2),vexs(1,1))=0;flagg=1;tem=1;while flagg[flagg ed]=edf(matr,eds,vexs,ed,tem);tem=tem+1;if ed(1,eds)~=0 & ed(2,eds)~=0T=ed;T(2,eds)=1;c=0;for g=1:edsc=c+d(T(1,g),T(2,g));endflagg=0;break;endendendEndEdf.mfunction [flag ed]=edf(matr,eds,vexs,ed,tem) flag=1;for i=2:eds[dvex f]=flecvexf(matr,i,vexs,eds,ed,tem)if f==1flag=0;break;endif dvex~=0ed(:,i)=[vexs(1,i) dvex];vexs(1,i+1)=dvex;matr(vexs(1,i+1),vexs(1,i))=0;elsebreak;endendFlecvex.mfunction [dvex f]=flecvexf(matr,i,vexs,eds,ed,temp) f=0;edd=find(matr(vexs(1,i),:)==1);dvex=0;dvex1=[];ded=[];if length(edd)==1dvex=edd;elsedd=1;dd1=0;kkk=0;for kk=1:length(edd)m1=find(vexs==edd(kk));if sum(m1)==0dvex1(dd)=edd(kk);dd=dd+1;dd1=1;elsekkk=kkk+1;endendif kkk==length(edd)tem=vexs(1,i)*ones(1,kkk);edd1=[tem;edd];for l1=1:kkklt=0;ddd=1;for l2=1:edsif edd1(1:2:l1)==ed(1:2:l2)lt=lt+1;endendif lt==0ded(ddd)=edd(l1);ddd=ddd+1;endendendif temp<=length(dvex1)dvex=dvex1(temp);elseif temp>length(dvex1)&temp<=length(ded) dvex=ded(temp);elsef=1;endend说明:本论文属个人成果,如有错误的地方,请谅解。

相关文档
最新文档