当前位置:文档之家› 第十章 图与网络分析

第十章 图与网络分析

B
D
17
解中国邮递员问题的步骤
0、将图中的所有悬挂点依次摘去 1、求所有奇次点间的最短距离和最短路径 2、根据奇次点间的最短距离求最小完全匹配 3、根据最小完全匹配和最短路径添加重复边 4、将悬挂点逐一恢复,并加重复边 5、根据得到的偶图,给出欧拉回路的若干种走法
3
5 2
6
4
9
3 5
3
2
6
4
9
3
2
15
6.4.5 以最短路为基础汇总网路上的流
1 2 3 电路交换网 4 5 4 5 2 1 3 传输网
• 在电路网中每两点之间都有中继电路群需求,但并不是任 两点都有物理传输链路 • 根据两点间最短传输路径将该两点间的电路需求量加载到 这条传输路径上去:设 a25=10 是节点2 和 5 之间的电路需 求,节点2 和 5 之间的最短传输路径为 2135,则加载过 程为: T21=T21+10, T13=T13+10, T35=T35+10; Tij 是传输链路 ij 上加载的电路数;当所有点间电路都加载完则算法结束
1 1
3
10
1
2
1 3 17 8 6 1
5
6
4
5
4
初始解:1-2-3-4-5 1-3-2-4-5
2
2 1
3 2 1 1
23
3
10
1
3 2
1 1
3
10
5
6
4
5
4
1-3-2-4-5 1-3-4-2-5
1-3-4-2-5 1-3-4-5-2 5-3-4-2-1 3-1-4-2-5 23
( n 1)n( 2n 1)
1 3
n ( n 1)
2
k 1
• Dijkstra算法 – i=1 n 1 次临时标记,永久标记 n 1 次比较和赋值 – i=2 n 2 次临时标记,永久标记 n 2 次比较和赋值 – i=k n k 次临时标记,永久标记 n k 次比较和赋值
0、令始点Ts=0,并用• 住,所有其它节点临时标记 Tj= ; 框
1、从 vs 出发,对其相邻节点 vj1 进行临时标记,有 Tj1=ds,j1 ; 2、在所有临时标记中找出最小者,并用• 住,设其为 vr 。若此 框
时全部节点都永久标记,算法结束;否则到下一步;
3、从新的永久标记节点 vr 出发,对其相邻的临时标记节点进行 再标记,设 vj2 为其相邻节点,则 Tj2=min{Tj2, Tr+dr,j2 },返回 第2步。
16
6.5 欧拉回路和中国邮递员问题
• 中国邮递员问题(Chinese Postman Problem, CPP)是由我国 管梅谷教授于1962年首先提出并发表的 • 问题是从邮局出发,走遍邮区的所有街道至少一次再回到 邮局,走什么路由才能使总的路程最短? • 如果街区图是一个偶图,根据定理 3,一定有欧拉回路, CPP 问题也就迎刃而解了 • 若街区图不是偶图,则必然有一些街道要被重复走过才能 回到原出发点 A • 显然要在奇次点间加重复边 • 如何使所加的边长度最少 • 归结为求奇次点间的最小 C 匹配( minimum weighted match) — 由Edmons 给出 多项式算法(1965)
11
Dijkstra最短路算法的特点和适应范围
• 一种隐阶段的动态规划方法 • 每次迭代只有一个节点获得永久标记,若有两个或两个以上 节点的临时标记同时最小,可任选一个永久标记;总是从一 个新的永久标记开始新一轮的临时标记,是一种深探法 • 被框住的永久标记 Tj 表示 vs 到 vj 的最短路,因此 要求 dij0, 第 k 次迭代得到的永久标记,其最短路中最多有 k 条边,因 此最多有n1 次迭代 • 可以应用于简单有向图和混合图,在临时标记时,所谓相邻 必须是箭头指向的节点;若第 n1 次迭代后仍有节点的标记 为 ,则表明 vs 到该节点无有向路径 • 如果只求 vs 到 vt 的最短路,则当 vt 得到永久标记算法就结束 了;但算法复杂度是一样的 • 应用 Dijkstra 算法 n1 次 ,可以求所有点间的最短路 • vs 到所有点的最短路也是一棵生成树,但不是最小生成树
v1 e12 e'13 e13 e34 v3 v4 e24 e45
6
e22 v2
v5
二、树与最小支撑树
• 树:无圈的连通图 • 管理的指标体系、家谱、分类学、组织结构等都是典 型的树图
C1

C2
C3
C4

7
图的支撑树
A C A C A C

B Hale Waihona Puke B D B D图的支撑树
A C A C A C A C
A
A
D C
C D
B
B
3
图与网路的基本概念
• 图 (Graph)
– 节点和边的集合
– 一般用 G(V,E) 表示
– 点集 V={v1,v2,…, vn} – 边集E={eij }
e22 v1 e12 e'13 e13 e34 v3 图 6.1 v4
4
v2 e24 e45
v5
无向图与有向图
• 边都没有方向的图称为无向图
• 模拟退火 (Simulated Annealing)
– 随机地采用二交换法 – 当交换后没有使目标函数改善,也可能以玻尔兹曼分布概率 被接受,但这种概率是随模拟的温度下降而减少的 – 发挥了计算机的优点,尽量减少陷入局部极值点 – 模拟物理机制
22
二交换法举例
11
2
23
23
2
11
1 3
10 2
20
6.6.2 旅行推销员问题(Traveling Salesman Problem)
• 旅行推销员问题(TSP):设v1, v2, ...,vn 为 n 个已知城市,城市 之间的旅程也是已知的,要求推销员从 v1出发,走遍所有城 市一次且仅一次又回到出发点,并使总旅程最短 • 这种不允许点重复的旅行推销员问题就是最小哈密尔顿回路 问题 • 一般旅行推销员问题(GTSP):允许点重复的TSP • 当网路边权满足三角不等式时,一般旅行推销员问题就等价 于最小哈密尔顿回路问题 • 当网路边权不满足三角不等式时,只要用两点间最短路的距 离代替原来的边权,就可以满足三角不等式,在此基础上求 最小哈密尔顿回路 典型的应用: • 乡邮员的投递路线 • 邮递员开邮箱取信的路线问题 • 邮车到各支局的转趟问题 21
12
四、网络系统的最大流问题
网络系统最大流的概念 • 定义网路上支路的容量为其最大通过能力,记为 cij , 支路上的实际流量记为 fij • 容量限制条件:0 fij cij • 平衡条件:

v j A ( vi )
fij

v j B ( vi )
v( f ) f ji 0 v( f )
5
6
5
4
8
4 5 2
2
6
5
4
8
4
1
6
4
4
7
0
1
6
4
4
7
18
解中国邮递员问题的步骤
2 4 6 8 2 0 4 10 0 6 7 7 0 8 10 8 7 0 2 4 6 8 2 4 5 6 3 5 8 5 5,7 5,9 -
最短距离矩阵
添 加 重 复 边 0
2
转接矩阵
找 出 所 有 基 本 回 0 路
TSP 的启发式算法(Heuristic algorithm)
• 穷举法:指数算法 • 分支定界法:隐枚举法 • 二交换法 (two-option, Lin’s algorithm)
– 哈密尔顿回路可以用点的序列表示 – 从任一个哈密尔顿回路(即任何一个序列)出发 – 按照一定顺序试图交换相邻两个点的顺序,若路程减少则完 成交换,继续下一个交换;若没有改善,则不进行本次交换, 尝试下一个交换;若所有的相临交换都试过而不能改善,则 算法结束,得到一个局部最优点
第十章 图与网络分析
• • • • • •
图的基本概念 最小支撑树 最短路问题 网络系统最大流问题 网络系统中的最小费用最大流问题 中国邮递员问题
2
一、图的基本概念
• 哥尼斯堡七桥问题 (Kö nigsberg Bridge Problem)。 • Leonhard Euler (1707-1783) 在1736年发表第一篇图论 方面的论文,奠基了图论中的一些基本定理。
算法复杂度
• Prim算法 – i=1 n 1 次比较,最多 n 1 次赋值 – i=2 2(n 2) 次比较,最多 2(n 2) 次赋值 – i=k k(n k) 次比较,最多 k(n k) 次赋值
n1
2k ( n k ) 2n
n( n 1) 2

2 6
19
3
5
2
6
4
9
3
3
6
9
2
5
6
5
4
8
4
2
5
8
1
6
4
4
7
1
4
7
6.6 哈密尔顿回路及旅行推销员问题
6.6.1 哈密尔顿回路( Hamiltonian circuit)
• 连通图G(V,E)中的回路称为哈密尔顿回路,若该回路包括图中 所有的点。显然哈密尔顿回路有且只有 n 条边,若|V|=n • 连通图具有哈密尔顿回路的充分必要条件是什么?这个问题是 由爱尔兰数学家哈密尔顿1859年提出的,但至今仍未解决 • 欧拉回路是对边进行访问的问题,哈密尔顿回路是对点进行访 问的问题 • 搜索哈密尔顿回路的难度是 NP-complete • 任两点间都有边的图称为完全图(或全连接图) • 完全图中有多少个不同的哈密尔顿回路? (n1)!/2 • 完全图中有多少个边不相交的哈密尔顿回路? (n1)/2 • 最小哈密尔顿回路问题 (NP-complete) • 哈密尔顿路径:包含图中所有点的路径 • 为什么说找两点间的最长路是非常困难的问题?
相关主题