当前位置:文档之家› 运筹学模型与软件求解(第六章)

运筹学模型与软件求解(第六章)

一条边的两个端点相同,称为自环(self-loop);具 有两个共同端点的两条边称为平行边(parallel edges) 既没有自环也没有平行边的图称为简单图(simple graph)
端点,关联边,相邻,次
在无向图中,与节点相关联边的数目,称为该 节点的“次”(degree),记为 d ;次数为奇数 的点称为奇点(odd),次数为偶数的点称为偶点 (even);图中都是偶点的图称为偶图(even graph) 有向图中,由节点指向外的弧的数目称为正次 数,记为 d+,指向该节点的弧的数目称为负次 数,记为 d– 次数为 0 的点称为孤立点(isolated vertex) , 次数为 1 的点称为悬挂点(pendant vertex) 定理 1:图中奇点的个数总是偶数个
6.1 图与网路的基本概念
6.1.1图与网路 节点 (Vertex)
物理实体、事物、概念 一般用 vi 表示
网路 (Network)
边上具有表示连接
强度的权值,如 wij
又称加权图
边 (Edge)
节点间的连线,表示有
(Weighted graph)
e22
关系 一般用 eij 表示
2
■链(Chain)
C={(1,2),(3,2),(3,4)}
1 3
4
相邻节点的序列 {v1 ,v2 ,…, vn} 构成一条链 (Chain),又称为行走(walk);首尾相连的链 称为圈(loop),或闭行走
2
■路径(Path)
•在无向图中,节点不重复出现的链称 为路径(path);在有向图中,节点不 重复出现且链中所有弧的方向一致, 则称为有向路径(directed path) P={(1,2),(2,3),(3,4)}
D(V1,V2) F(V2)
V1 D(V1,V3)
V3
V4 F(V3)
V5
例题: 在一个城市交通网络中寻找从节点1到节点10之间的最短路径。
2
5 8Leabharlann 6 1 3 9 1047
城市间的网络图
采用Lingo求解最短路线问题
2:集合 只建立一个基本集合CITIES,它代表了网络里的城市。 我们用这个基本集合派生出一个集合ROADS是一个疏 集。 3:变量 定义在CITIES集合上的属性F为每一个城市到终点城市 的最短距离。定义在ROADS集合上的属性D表示两个城 市之间的直达距离。 4:公式 我们使用下面的语句计算各城市到城市10的最短距离: @FOR( CITIES( i)| i #LT# @SIZE( CITIES): F( i) = @MIN( ROADS( i, j): D( i, j) + F( j)) );
X={1,2,3,4,5,6,7}, w3=8
狄克斯特拉算法 (Dijkstra algorithm, 1959)
X={1,2,3,4,6,7}
w1=0 w2=2 2 1 10 w3=8 6 5 9
1
2
3
w4=1 4
w5=6 5
3
5 6 w6=3
7
2 3 7
6
4
4
8
8
w7=3
w8=10
min {c38,c58,c78}=min {8+6,6+4,3+7}=min {14,10,11}=10
哥尼斯堡七桥问题 (Königsberg Bridge Problem) Leonhard Euler (1707-1783) 在1736年发表第一篇图 论方面的论文,奠基了图论中的一些基本定理 很多问题都可以用点和线来表示,一般点表示实体, 线表示实体间的关联
A
A D C B
C
D
B
图论 Graph Theory--缘起2
用动态规划的方法求解最短路线问题 为了寻找网络的最短路线距离,我们将使用下面的 动态规划递归式:
F (i ) min [ D(i, j ) F (i, j )]
j
F(i)是从节点i到终点的最短距离,D(i,j)是从节 点i到节点j的距离。 具体说:从节点i到终点的最短距离是从节点i到临 接点的距离加上邻接点的终点的最小距离之和的最 V2 小值
采用WinQSB软件求解最短路问题
输入节点之间的连接关系
1 1 3 5 6 4 4 2 7 10 7 3 8 2 5 5 4 8 9 6 3
选择起点和终点节点
计算结果和图示结果展示
w1=0
w2=2 2 1 10
w3=8 6 5 9
1
2
3
w4=1 4
w5=6 5
3
5 6 w6=3
7
2 3 7
6
X={1,2,4}
w1=0 w2=2 2 1 10 6 5 9 5 3 7 8 4 8
1
2
3
w4=1 4
3
5 6 w6=3
7
2
6
4
min {c13,c23,c25,c47}=min {0+3,2+6,2+5,1+2}=min {3,8,7,3}=3
X={1,2,4,6}, w6=3
狄克斯特拉算法 (Dijkstra algorithm, 1959)
1
3
4
■回路(Circuit)
首尾相连的路径称为回路(circuit); μ={(1,2),(2,4),(4,1)} 回路中各条边方向相同
1
2 4 3
■圈(Cycle)
起点和终点重合的链称为圈 ρ ={(1,2),(2,4),(3,4),(1,3)} 圈中各条边方向不一定相同
2 1 3 4
最短路径问题(问题描述)
X={1}, w1=0
w1=0 2 1 10 w1=0 4 5 6 4 2 7 6 5 9 5 3 8 4 8
1
2
3
3
7
6
min {c12,c14,c16}=min {0+2,0+1,0+3}=min {2,1,3}=1
X={1,4}, w4=1
狄克斯特拉算法 (Dijkstra algorithm, 1959)
X={1,2,4,6,7}
w1=0 w2=2 2 1 10 6 5 9
1
2
3
w4=1 4
w5=6 5
3
5 6 w6=3
7
2 3 7
6
4
4
8
8
w7=3
min {c23,c25,c75,c78}=min {2+6,2+5,3+3,3+8}=min {8,7,6,11}=6
X={1,2,4,5,6,7}, w5=6
i
aij
j
端点,关联边,相邻,次
图中可以只有点,而没有边;而有边必有点 若节点vi, vj 之间有一条边 eij,则称 vi, vj 是 eij 的 端点(end vertex),而 eij 是节点 vi, vj 的关联边 (incident edge)
同一条边的两个端点称为相邻(adjacent)节点,具 有共同端点的边称为相邻边
1 1 3 5 6 4 4 2 7
2
10
2 5 7 3
6 9 5 4 8
3
6
8
求从1到8的最短路径 最短路问题在实际中具有广泛应用,如管道铺 设、线路选择等问题,还有些如设备更新、投 资等问题也可以归结为最短路问题
狄克斯特拉算法 (Dijkstra algorithm, 1959)
狄克斯特拉算法的基本思想是:若起点 v s 到终点 v t 的最 短 路 经 过 点 v1 、 v2 、 v3 , 则 v1 到 v t 的 最 短 路 是
v1 e12 e'13 v3 e13 e34 图 6.1
v2 e24 e45 v4 v5
图 (Graph)
节点和边的集合, 一般用 G(V,E) 表示
点集 V={v1,v2,…, vn}
边集E={eij}
网络的基本概念
■节点与(有向)边
每一条边和两个节点关联,一条边 可以用两个节点的标号表示(i,j)
图论与网络分析(Graph Theory and Network Analysis)是近几十年来运筹学领域中发展迅速,而且 十分活跃的一个分枝。 图论和网络分析经常应用到道路交通图、管道网络图、 工程计划图等。由于它对实际问题的描述具有直观性, 故广泛应用于物理学、化学、信息论、控制论、计算 机科学、社会科学以及现代经济管理科学等许多科学 领域 本章将介绍图和网络中图和流的基本概念以及在图论 在路径问题、网络流问题等领域的应用。
运筹学模型与软件求解
Models and Software Solutions of the Operations Research
中国科学院研究生院
第六章
网络流量问题与实验
基本网络的概念 最短路问题的算法 最短路的应用 最大流问题 最小费用流问题
图是最直观的模型
图论 Graph Theory--缘起
i j 1 3 2 4
无向图与有向图
边都没有方向的图称为无向图,如图
在无向图中 eij=eji,或 (vi, vj)=(vj, vi)
当边都有方向时,称为有向图,用G(V,A)表示 在有向图中,有向边又称为弧,用 aij表示,i, j 的顺序是不能颠倒的,图中弧的方向用箭头标识 图中既有边又有弧,称为混合图
DATA: D =1 5 2 13 12 11 6 10 4 12 14 3 9 6 5 8 10 5 2; ENDDATA ! 城市10到城市10的距离为0; F( @SIZE( CITIES)) = 0;
相关主题